如何在Python中的一行中输入2个整数?

How to input 2 integers in one line in Python?

我想知道是否可以在一行标准输入中输入两个或更多整数。 在C / C++中很容易:

C++

1
2
3
4
5
6
#include <iostream>
int main() {
    int a, b;
    std::cin >> a >> b;
    return 0;
}

C

1
2
3
4
5
#include <stdio.h>
void main() {
    int a, b;
    scanf("%d%d", &a, &b);
}

Python中,它将无法工作:

1
2
3
4
5
6
7
8
9
10
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'

那怎么办呢?


在空白处拆分输入的文本:

1
a, b = map(int, input().split())

演示:

1
2
3
4
5
6
>>> a, b = map(int, input().split())
3 5
>>> a
3
>>> b
5


如果您使用的是Python 2,则Martijn提供的答案不起作用。 相反,使用:

1
a, b = map(int, raw_input().split())