web-dev-qa-db-ja.com

Pythonで1行に2つの整数を入力するにはどうすればよいですか?

標準入力の1行に2つ以上の整数を入力できるのかしら。 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'

それを行うにはどうすればよいですか?

11
enedil

入力したテキストを空白で分割します。

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

デモ:

>>> a, b = map(int, input().split())
3 5
>>> a
3
>>> b
5
23
Martijn Pieters

Python 2を使用している場合、Martijnが提供する答えは機能しません。代わりに、次を使用してください。

a, b = map(int, raw_input().split())
4
Dhruv Bhagat