如何在Python中方便地读取数字?

4
x1, y1, a1, b1, x2, y2 = int(input()), int(input()), int(input()), int(input()), int(input()), int(input())

我的问题是要读取6个数字,每个数字在新的一行输入。有比我上面的代码更简洁的方法吗?

3个回答

8
x1, y1, a1, b1, x2, y2 = (int(input()) for _ in range(6))

在Python 2中,将range替换为xrange,并将input替换为raw_input


在Python2中,除非您将input()替换为raw_input()(您肯定应该这样做),否则不需要使用int - mgilson

1
x,y,z,w=map(int,input().split()) #add input in form 1 2 3 4


>>> x,y,z,w=map(int,input().split()) 
1 2 3 4
>>> x
1
>>> y
2
>>> w
4
>>> z
3

数字不在同一行中 :) - nhtrnm

0

我会使用字典:

parm = {}
var_names = ['x1', 'y1', 'a1', 'b1', 'x2', 'y2']
for var_name in var_names:
    parm[var_name] = int(input())

然后您可以将字典键转换为变量,但我认为这不是一个好主意:

locals().update(parm)

1
你不应该修改由vars()返回的字典,因为它与locals()相同,在文档中明确警告禁止这样做。如果你想要以正确的方式编写糟糕的代码,可以使用globals().update(parm) - mgilson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接