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

Python 3中如何获取多个带自定义名称的输入?

批量生成带命名的输入变量

嘿,我懂你的需求——不想手动写一堆number1 = int(input(...))这种重复代码,希望能自动生成带编号的独立变量,方便后续用if语句做比较,对吧?下面给你两种实用的方法:

方法1:直接生成独立变量(适合小场景)

你可以利用Python的globals()函数,它能直接操作全局命名空间,动态创建变量名。代码示例如下:

# 先问用户要输入多少个数字
count = int(input("请输入要录入的数字个数:"))

# 循环生成number1、number2...numberN
for i in range(1, count + 1):
    var_name = f"number{i}"
    # 给对应的变量赋值,转换为整数类型
    globals()[var_name] = int(input(f"请输入第{i}个数字:"))

运行这段代码后,你就能直接用number1、number2这些变量名了,比如:

if number1 > number2:
    print("第一个数字比第二个大")

⚠️ 小提醒:这种方法虽然直接,但如果变量数量太多,会让全局命名空间变得混乱,所以更适合小型脚本或者临时场景。

方法2:用字典存储(更规范的做法)

其实在Python里,更推荐用字典来管理这类批量生成的变量,既整洁又容易维护,虽然不是直接的独立变量名,但可以通过键名来访问,效果一样:

count = int(input("请输入要录入的数字个数:"))
number_dict = {}

for i in range(1, count + 1):
    key = f"number{i}"
    number_dict[key] = int(input(f"请输入第{i}个数字:"))

之后要比较的话,可以这样写:

if number_dict["number1"] > number_dict["number2"]:
    print("第一个数字比第二个大")

这种方式不会污染全局命名空间,而且后续要遍历、修改这些数字也更方便,是Python开发中的最佳实践哦。

另外补充一下,你之前尝试的a,b=map(input().split())是用来拆分同一行输入的多个值,和你要的逐个提示输入带命名变量的场景不太匹配,上面的两种方法刚好能解决你的需求~

内容的提问来源于stack exchange,提问作者Jana Ruhrländer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:22:41