Python循环提问填充列表失败:仅获取一次输入问题排查
问题解决:循环仅执行一次的修复方案
问题根源
- return语句位置错误:你把
return userList放在了for循环内部,第一次循环执行时就直接返回列表,循环根本没机会跑完5次。 - 函数调用名称错误:你定义的函数是
funct1(),但调用时写的是Sum_Num(),这要么会直接报错,要么根本不会执行你写的输入逻辑。
修正后的代码方案(推荐)
def funct1(): userList = [] # 把列表放在函数内部,避免全局变量的潜在问题 for i in range(5): user = int(input('Enter a Number: ')) userList.append(user) return userList # 循环跑完后再返回结果 userList = funct1() # 正确调用函数并接收返回值 print(userList)
保留全局变量的修正方案
如果你坚持使用全局列表,也可以这么改:
def funct1(): for i in range(5): user = int(input('Enter a Number: ')) userList.append(user) # 移除循环内的return,让循环完整执行 userList = [] funct1() # 调用正确的函数名 print(userList)
内容的提问来源于stack exchange,提问作者astra
相关产品推荐
相关产品推荐

