为什么我的代码没有写入新的文本fi

2024-10-03 09:19:31 发布

您现在位置:Python中文网/ 问答频道 /正文

想知道为什么我的代码没有写入新的文本文件。没有错误可以给我一个线索。在

def writeFile (filename, text):
file = open(greenBottle.txt, 'w')
file.write(text)
file.close()

    def main (text):

        big_nums = ['no','One','Two','Three','Four','Five','Six','Seven','Eight','Nine','Ten']
        text_one = (' green bottles \nHanging on the wall\n')
        small_nums = [' no',' one',' two',' three',' four',' five',' six',' seven',' eight',' nine',' ten']
        text_two = ('And if one green bottle \nShould accidentally fall\nThere\'ll be')
        text_three = (' green bottles \nHanging on the wall\n \n')
        result=[]
        text=new_string
        new_string=''

        for i in range(10, 0, -1):
            result.append(big_nums[i] + str( text_one))
            result.append(big_nums[i] + str( text_one))
            result.append(text_two + small_nums[i-1] + text_three)
            return result('')
            print(''.join(main(text)))

    if __name__ == '__main__':
        writeFile('greenBottle.txt',text)


    main(text)

Tags: texttxtmaindefgreenresultonefile
1条回答
网友
1楼 · 发布于 2024-10-03 09:19:31

就我而言,这些行是有缺陷的,应该删除,而且不能从for循环中return,只能从函数中删除:

return result('')
print(''.join(main(text)))

重复这句话:

^{pr2}$

在我重写你的代码之后:

def writeFile (filename, text):
    with open(filename,'w') as file:
        for line in text:
            file.write(line)

def main():
    result=[]
    big_nums = ['no','One','Two','Three','Four','Five','Six','Seven','Eight','Nine','Ten']
    text_one = (' green bottles \nHanging on the wall\n')
    small_nums = [' no',' one',' two',' three',' four',' five',' six',' seven',' eight',' nine',' ten']
    text_two = ('And if one green bottle \nShould accidentally fall\nThere\'ll be')
    text_three = (' green bottles \nHanging on the wall\n \n')
    new_string=''
    text = new_string

    for i in range(0,10):
        result.append(big_nums[i] + str( text_one))
        #result.append(big_nums[i] + str( text_one))
        result.append(text_two + small_nums[i-1] + text_three)
        #return result('')
        #print(''.join(main(text)))

    writeFile('greenBottle.txt',result)

main()

输出:

no green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be ten green bottles 
Hanging on the wall

One green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be no green bottles 
Hanging on the wall

Two green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be one green bottles 
Hanging on the wall

Three green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be two green bottles 
Hanging on the wall

Four green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be three green bottles 
Hanging on the wall

Five green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be four green bottles 
Hanging on the wall

Six green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be five green bottles 
Hanging on the wall

Seven green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be six green bottles 
Hanging on the wall

Eight green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be seven green bottles 
Hanging on the wall

Nine green bottles 
Hanging on the wall
And if one green bottle 
Should accidentally fall
There'll be eight green bottles 
Hanging on the wall

相关问题 更多 >