Как ввести 2 целых числа в одну строку в Python?
интересно, можно ли ввести два или более целых чисел в одной строке стандартного ввода. В 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 ответов
разбить введенный текст на пробелы:
a, b = map(int, input().split())
демо:
>>> a, b = map(int, input().split())
3 5
>>> a
3
>>> b
5
Если вы используете Python 2, то ответ, предоставленный Martijn, не работает. Вместо этого, используйте:
a, b = map(int, raw_input().split())