0
def writetofile():
    myFile = open("C:\Jazmyn\myText.txt", "a")
    myFile.write(a)
    myFile.close()

# creating new text file, I have created a folder named "Jazmyn"
# in my C drive and the text file is created there. 


def greenbottles():
    bottle = ['Zero','One','Two','Three','Four','Five','Six','Seven','Eight', 'Nine', 'Ten' ]
    text_one = 'green bottles hanging on the wall'
    text_two = 'And if one green bottle should accidentally fall\nThere\'ll be'


for i in range(10, 0, -1):
    with open("C:\Jazmyn\myText.txt","a") as fo:
        print(bottle[i], text_one, file=fo)
        print(bottle[i], text_one, file=fo)
        print(text_two, bottle[i-1], text_one, file=fo)





greenbottles()
# this needs to be written to the file

我需要将“One”行从瓶子更改为瓶子,而不是像这样:一个绿色瓶子挂在墙上 一个绿色瓶子挂在墙上 一个绿色瓶子挂在墙上 一个绿色瓶子挂在墙上墙

是否可以只打印最后一部分并将其写入文件,或者我可以修改循环以便更改它?

4

1 回答 1

1

我在想类似的事情:

def get_text_one(i):
    return "green bottle" + ("" if i == 1 else "s") + " hanging on the wall"

然后代替:

print(bottle[i], text_one, file=fo)

做:

print(bottle[i], get_text_one(i), file=fo)

当您有一个动态字符串时,它可能不应该是您text_one声明的“静态”全局变量。

于 2013-09-20T07:38:25.667 回答