使用input()接受未知数量的变量

时间:2014-03-26 03:26:36

标签: python

我正在尝试使用用户提供的随机数点创建一个有界矩形。这对我来说很难的原因是因为所有的数字只能在一行上被接受,我不知道用户会提供多少变量,而且由于我接受了积分,我必须有适当的数量(均衡)。

以下是一个示例运行:

Enter the points: 
``>>>4 1 3 5 1 5 9 0 2 5

我的主要问题是如何解包随机数量的点数?而且,我如何将偶数点组合在一起?

2 个答案:

答案 0 :(得分:4)

在Python 2中:

points = map(int, raw_input().split())

在Python 3中:

points = list(map(int, input().split()))

另一种方法 - 列表理解:

points = [int(p) for p in input().split()]

要将这些点的x和y配对,您可以在pairwise()列表中使用points之类的内容:有关详细信息,请参阅https://stackoverflow.com/a/5389547/220700

答案 1 :(得分:1)

如果将它们作为字符串读取,则可以使用split()方法,该方法将返回list,然后使用map()将列表中的项目转换为整数:< / p>

points_input = raw_input("Enter the points:")

points = map(int, points_input.split())
print points

备注

  • 结果(points)将是list整数。
  • 如果您使用的是Python 3.x,则必须使用方法input()而不是raw_input()