用于将用户输入添加到列表的功能

时间:2017-03-25 09:57:50

标签: python list function loops input

我在使用以下功能正常工作时遇到了一些麻烦:

def answers_body():
   user_preference = []
   user_preference.extend(input("Please enter your answer: "))

我的问题真的归结为;我怎样才能重写这个,这样每次调用时列表都不会被清除?我正避免在这个程序中使用Global Variables;由于这个原因,我真的很感激任何更有经验的程序员在不诉诸全局变量/列表的情况下就如何纠正这一问题提出一些建议。

谢谢。

1 个答案:

答案 0 :(得分:2)

一种方法是将preference_list放在函数调用之外。我建议您使用list.append,因为list.extend主要用于向列表中添加多个值。

preference_list = []
def answers_body(body):
    body.append(input("Please enter your answer: "))
for i in range(10):
    answers_body(preference)
print(preference_list)

如果你不知道它是全局变量,你也可以将preference_list保存到answers_body的名称范围内。

def answers_body():
    answers_body.preference_list.append(input("Please enter your answer: "))

answers_body.preference_list = []
for i in range(10):
    answers_body()
print(answers_body.preference_list)