我有这样的事情:
a = int(input())
b = int(input())
c = int(input())
d = int(input())
如何在一个输入行中执行此操作?
像a,b,c,d = int(input())
这样的东西不起作用
答案 0 :(得分:0)
在转换为int时,您应该使用try/except但是可以使用以下内容:
a,b,c,d = (int(input()) for _ in range(4))
演示:
In [134]: a,b,c,d = (int(input()) for _ in range(4))
1
2
3
4
In [135]: a,b,c,d
Out[135]: (1, 2, 3, 4)
你只需要在你想要的数字范围内循环。
或者让用户输入用空格分隔的数字,在空白处分开,map分隔到int:
a,b,c,d = map(int,input("Enter four numbers separated by spaces").split())
print(a,b,c,d)
试一试将更安全:
while True:
try:
a, b, c, d = map(int, input("Enter four numbers separated by spaces").split())
break # got four ints so break
except ValueError:
print("Invalid input or format")
print(a, b, c, d)
你可以而且也应该尝试第一个例子:
while True:
try:
a,b,c,d = (int(input()) for _ in range(4))
break
except ValueError:
print("Invalid input")
print(a, b, c, d)
答案 1 :(得分:0)
如果要输入四个数字,e。 G。 1 5 20 3
,然后:
numbers = input()
a, b, c, d = [int(n) for n in numbers.split()]
如果您想用逗号输入,e。 G。 1, 5, 20, 3
,然后:
numbers = input()
a, b, c, d = [int(n) for n in numbers.split(',')