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

时间:2014-04-23 19:47:07

标签: python python-3.x input line

我想知道是否可以在一行标准输入中输入两个或更多整数。在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'

那怎么办呢?

2 个答案:

答案 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())