Python如何实现一行输入3个整数?
错误原因
你原来的写法无法运行是因为input()会读取一整行字符串,直接套int()只能将整个字符串转换为单个整数,无法生成3个可解包的数值,自然没法赋值给a/b/c三个变量。
正确实现
你可以用split()拆分输入字符串,再批量做类型转换,标准写法如下:
a, b, c = map(int, input().split())
代码逻辑说明
input().split()会将读取到的整行字符串按空白字符(空格、制表符等)拆分,返回字符串列表。比如输入5 10 15,会得到['5', '10', '15']map(int, 列表)会遍历列表的每个元素,依次执行int()类型转换,得到包含3个整数的可迭代对象- 最后将三个整数解包,分别赋值给
a、b、c即可
如果你的输入是用逗号等其他符号分隔,只需要在split()中传入对应分隔符即可,比如逗号分隔的场景写法为:
a, b, c = map(int, input().split(','))
注意:该写法默认要求输入的数值数量恰好为3,数量不符时会抛出解包错误,符合明确输入3个数字的需求。
内容的提问来源于stack exchange,提问作者ariankazemi
相关产品推荐
相关产品推荐

