我想知道是否可以在一行标准输入中输入两个或更多整数。在C
/ C++
中,这很简单:
C++
:
#include <iostream>
int main() {
int a, b;
std::cin >> a >> b;
return 0;
}
C
:
#include <stdio.h>
void main() {
int a, b;
scanf("%d%d", &a, &b);
}
在Python
中,它无法工作:
enedil@notebook:~$ cat script.py
#!/usr/bin/python3
a = int(input())
b = int(input())
enedil@notebook:~$ python3 script.py
3 5
Traceback (most recent call last):
File "script.py", line 2, in <module>
a = int(input())
ValueError: invalid literal for int() with base 10: '3 5'
那怎么办呢?
答案 0 :(得分:19)
将输入的文本拆分为空格:
a, b = map(int, input().split())
演示:
>>> a, b = map(int, input().split())
3 5
>>> a
3
>>> b
5
答案 1 :(得分:3)
如果您使用的是Python 2,则Martijn提供的答案不起作用。相反,使用:
a, b = map(int, raw_input().split())