我在让以下函数的逻辑正常工作时遇到了一些麻烦:
def answers_body():
user_preference = []
user_preference.extend(input("Please enter your answer: "))
我的问题实际上归结为;我怎样才能重写这个,这样列表就不会在每次调用时被清除?我避免在这个程序中使用全局变量;因此,我真的很感谢任何更有经验的程序员就如何纠正这个问题而不诉诸全局变量/列表提供一些建议。
谢谢。
最佳答案
一种方法是将 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)
关于python - 将用户输入添加到列表的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43014977/