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

标签 python list function loops input

我在让以下函数的逻辑正常工作时遇到了一些麻烦:

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/

相关文章:

postgresql - 如何从函数(存储过程)中获取 INPUT 值?与 golang

python - 使用 Pillow 降低图像的亮度

python - Gamma 回归仅截距

python - 为什么我不能让 Django 与这个库对话?

list - 如何将多个列表合并为一个列表? Dart

c++访问 map 时发生访问冲突

php - 为什么“print”和 "echo"函数不需要括号

python - 可视化两个数值数组之间的差异

c# - 在 List<T> 中查找项目

python - 在 Python 中生成填充有唯一整数值​​的列表