Python如何在同一行输入多个整数 输入报错ValueError解决方案
报错原因
你的代码执行逻辑顺序错误:int(input("->"))会优先将包含空格的整行输入(例如你输入的1 2)直接尝试转换为整数,带空格的字符串不符合十进制整数的格式,直接触发ValueError,后续的split()操作根本不会执行。
单行输入多个整数的实现方法
你可以借助map()函数批量转换拆分后的字符串元素,一行完成操作:
x, y = map(int, input("->").split()) print(x, y)
- 执行顺序为:先获取整行输入字符串,调用
split()按空白符切分成单个数字字符串组成的列表,再通过map(int, 列表)将每个字符串元素转为整数,最后解包赋值给对应的变量即可。 - 如果输入的整数数量不固定,可以用列表直接接收转换结果:
int_list = list(map(int, input("->").split()))
输入的所有整数都会按顺序存入int_list列表中,无需提前指定变量数量。
内容的提问来源于stack exchange,提问作者lauhemahfus
相关产品推荐
相关产品推荐

