正在寻找关于为什么我的代码没有写入新文本文件的想法。没有错误可以给我一个线索。
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)
答案 0 :(得分:-1)
就我而言,这些线条都是错误的并且应该被删除,而且你不能从for循环中return
但只能从一个函数中删除:
return result('')
print(''.join(main(text)))
并重复此行:
result.append(big_nums[i] + str( text_one))
我重写了你的代码之后:
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