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

问题描述 投票:0回答:5

我想知道是否可以在一行标准输入中输入两个或多个整数。在 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中,它不起作用:

script.py

#!/usr/bin/python3
a = int(input())
b = int(input())
$ 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'

那么要怎么做呢?

python python-3.x input line
5个回答
41
投票

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

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

演示:

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

5
投票

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

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

0
投票
x,y = [int(v) for v in input().split()]
print("x : ",x,"\ty: ",y)

0
投票

在Python中,每次我们使用

input()
函数时,它都会直接切换到下一行。要使用多个内联输入,我们必须使用
split()
方法和
input
函数,通过它我们可以获得所需的输出。

a, b = [int(z) for z in input().split()]
print(a, b)

输入:

3 4

输出:

3 4

-2
投票
x, y = int(input()),  int(input())
print("x : ",x,"\ty: ",y)
© www.soinside.com 2019 - 2024. All rights reserved.