You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用for循环获取3个变量用户输入提示变量未定义如何解决

错误原因

你的代码存在两个核心问题:

  • 执行for i in [p, q, r]这行时,p、q、r三个变量还没有被定义,程序读到这行时无法识别变量,直接触发未定义报错。
  • 即使你提前定义了三个变量,循环内给i赋值也无法同步修改p/q/r的值:Python中整数是不可变类型,循环变量i只是临时持有列表中元素的副本,对i重新赋值只会改变i自身的指向,不会修改原变量的存储值。

正确实现方式

方法1:用列表存储输入(最推荐,适合批量输入场景)

# 提前创建空列表接收所有输入
value_list = []
# 循环3次,每次把输入转成整数后追加到列表
for _ in range(3):
    num = int(input("Enter any value="))
    value_list.append(num)

print("Your 1st value=", value_list[0])
print("Your 2nd value=", value_list[1])
print("Your 3rd value=", value_list[2])

方法2:直接解构赋值给独立变量

如果你确实需要用p/q/r三个独立变量存储结果,可以用列表推导式加解构赋值实现:

p, q, r = [int(input("Enter any value=")) for _ in range(3)]

print("Your 1st value=", p)
print("Your 2nd value=", q)
print("Your 3rd value=", r)
  • 额外提示:你原有代码的输出语句里序数词写法有误,第二个输入的描述应为2nd,第三个应为3rd。

内容的提问来源于stack exchange,提问作者Akshay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 17:54:01