在python中使用for循环获取输入

时间:2017-04-19 16:34:09

标签: python

a,b = int(i) for i in input().split()

有人能解释为什么上面的代码不起作用吗?

我知道我可以使用它来制作列表,如:

a = [int(i) for i in input().split()]

但为什么它不适用于2个值?如果运行时异常上升(传递超过2个值),则终止是完全合法的。但是显示无效的语法。

1 个答案:

答案 0 :(得分:0)

我刚刚检查过。这些被称为生成器函数。代码可以修改为:

a,b = (int(x) for x in input().split())

此外,a,b = [int(x) for x in input().split()]也执行相同的工作,但它会返回一个列表。然后迭代该列表并将其分配给python的末尾的变量。 (如果我错了,请纠正我)

感谢所有回答的人! :d