将游戏名称添加到文件中?

时间:2017-10-18 23:58:34

标签: python python-3.x while-loop

您好,我已按照这些说明完成学校作业

  

写一个while循环,提示用户输入他们喜欢的游戏。什么时候   他们输入游戏名称,在屏幕上打印消息并添加   将日志记录在名为games.txt的文件中的行。确保每一个   条目显示在文件的新行中。

我在制作循环时遇到问题需要多次,而不是一遍又一遍地添加游戏。另外,我不希望games.txt文件丢失之前添加的游戏。

这是我目前的代码:

filename = 'games.txt'
print("When you want to finish adding games just type 'done'")
game = input('Whats your favorite game? ')

with open(filename, 'w') as file_object:
    while game != 'done':
        print(game)
        file_object.write(game + str("\n)

正如你所看到的,如果我运行它,我就把命运2"作为游戏,它将继续将命运2添加到名为games.txt的文件中,直到我停止该程序。

1 个答案:

答案 0 :(得分:1)

您目前有一个无限循环,无限期地写入在文件中输入的最后一个游戏名称。

您必须将输入提示放在while循环中 我认为最好先收集列表中的所有数据,然后再写入文件。

filename = 'games.txt'
print("When you want to finish adding games just type 'done'")

games = []
game = ''
while True:
    game = input('Whats your favorite game? ')
    if game == 'done':
        break
    games.append(game)

with open(filename, 'w') as file_object:
    for game in games:
        file_object.write(game + str("\n"))