我试图通过使用定义的函数(其中变量是列表名称)来缩短创建列表的过程。运行时,代码将跳过用户输入。
当我运行代码时,用户输入的部分似乎被完全跳过了,因此它只显示一个空列表。我尝试弄乱变量名,并在代码的不同点定义事物。我是否缺少Python的一般规则,或者我缺少的代码中有明显的错误?
def list_creation(list_name):
list_name = []
num = 0
while num != "end":
return(list_name)
num = input("Input a number: ")
print("To end, type end as number input")
if num != "end":
list_name.append(num)
list_creation(list_Alpha)
print("This is the first list: " + str(list_Alpha))
list_creation(list_Beta)
print("This is the second list: " + str(list_Beta))
我希望这两个单独的列表打印出用户输入的数字。目前,它仅打印出两个空列表。
最佳答案
您需要将return语句移到函数的末尾,因为return总是会停止函数的执行。
另外,据我所知,您试图做的事是不可能的或不切实际的。您不能通过在函数中将其作为变量来分配变量,而应完全删除参数list_name
,因为无论如何您都立即重新分配它,并像list_alpha = list_creation()
那样调用它
附带一提,用户在开始输入之前,可能希望看到整个“要结束,键入end作为数字输入”位。
关于python - 输入可以存在于Python中定义的函数中吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54319067/