- 分享
关于Python的读取问题......
- 2025-8-4 9:23:52 @
写到后面才发现这是一篇过于浅显易懂的学术论文……
众所周知,python的读取用的是 input()
而c++的读取用的是
#include<bits/stdc++.h>
using namespace std;
int main()
{
cin>>......;
scanf();
getline();//string字符串的输入函数
......
}
所以很多题为了照顾Python的做题者,会把输入的两个或多个变量分行写。比如A+B问题,Python代码是这么写的:
a=int(input())
b=int(input())
print(a+b)
而如果给出的测试点输入是这样:
1 1
Python就会报错:
Traceback (most recent call last):
a=int(input())
ValueError: invalid literal for int() with base 10: '1 1'
Python会读取整行内容,而两个数中有一个空格,它不能被 int()
转换,所以会报错。所以Python有一个函数,它就是 split()
。
我们可以利用它写出:
# 读取一行输入,按空格分割,然后转换为两个数
a, b = map(int, input().split())
print(a+b)
这样就可以了。但是还有一种方式:
numbers = input().split() # 分割成字符串列表
a = int(numbers[0])
b = int(numbers[1])
#用字符串列表的下标(索引)来找到那个数字
print(a+b)
怪不得Python的A+B问题老是WA
1 条评论
-
刘李瑾瑜 LV 9 @ 2025-8-7 15:36:33
bruh 这不是大多数 pyer 都知道的吗/kel,可能属于
sweeterwyy 讨论范围。
- 1