0

私のコードが新しいテキスト ファイルに書き込まれない理由についてのアイデアを探していました。私に手がかりを与えるエラーはありません。

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)
4

1 に答える 1

-1

私が懸念している限り、これらの行にはバグがあり、削除する必要があります。またreturn、for ループからは使用できませんが、関数からのみ使用できます。

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
于 2013-09-26T11:11:37.370 に答える