当我要求用户输入并将其附加到列表时,为什么我的代码没有改变?

时间:2017-01-03 18:20:20

标签: python

我想在列表中存储随时间收集的所有用户输入。我做了这样的事情:

reactions = []
reaction = raw_input("I wanna know your reaction, yo: ")
reactions.append(reaction)

但即使刷新后,我的代码看起来也完全一样,一个空列表。

3 个答案:

答案 0 :(得分:4)

我们只是将它们保存到文件

reaction = raw_input('Please React: ')
with open('reactions.txt', 'a') as f: #a is append mode
    f.write(reaction + '\n')

答案 1 :(得分:0)

当我运行您的代码并打印反应时,我得到了我输入的内容。如果你想收集很多反应,你可以制作一个循环,一旦用户输入" q"

就会结束。



reactions = []
reaction = raw_input("I wanna know your reaction, yo: ")
while reaction != "q":
    reactions.append(reaction)
    reaction = raw_input("I wanna know your reaction, yo: ")
print(reactions)




答案 2 :(得分:0)

我不知道你的意思是什么"刷新"。但是您的代码在开头创建了一个新的空列表,因此如果再次运行它,它将始终附加到一个新的空列表。尝试将您的代码视为按顺序依次执行的指令列表。

最后可以添加一种方式来显示列表print(reactions)的内容,以及一个循环来多次重复最后两行:

reactions = []
while True:
    reaction = raw_input("I wanna know your reaction, yo: ")
    reactions.append(reaction)
    print reactions