如何在 Python 中一行输入 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'

那怎么办呢?

原文由 enedil 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

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

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

演示:

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

原文由 Martijn Pieters 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

原文由 Dhruv Bhagat 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题