一. 数据读取的方式(python3)
1. input()读取输入数据
while True:
try:
inputs = input()
except:
break
2. 网站的数据输入是是一个含有多行数据的input文件(.in文件,可以用文本打开), 可以直接用sys.stdin.readlines()读取所有行数据,这样在本地编译器写代码时,
可以先创建一个input.in文件,将所有示例代码复制到文件中,保持原数据格式不变, 创建以下代码读取数据(这种方式也方便本地编译器调试代码):
import sys
lines = sys.stdin.readlines()
all_lines = [item for item in all_lines if item != '\n']
这样,可以处理每行数据:
for line in lines:
print(line)
或者跨行处理些数据:
all_lines = sys.stdin.readlines()
all_lines_len = len(all_lines)
stride = 3
for i in range(0, all_lines_len, 3):
print(all_lines[i])
i = 0
while i < all_lines_len:
n, m = list(map(int, all_lines[i].strip().split(' ')))
prices = list(map(int, all_lines[i + 1].strip().split(' ')))
wus = all_lines[i + 2: i + 2 + m]
i = i + m + 2
print(i)
参考:关于牛客网代码题 数据读取问题的 小白指南
二. 出现程序本地运行没问题,线上运行一直 Wrong Answer(WA), 测试数据正确率80%的问题
这个问题很讨厌,讨厌!!!
原因是 输入的测试数据中,可能有很多空行,只要读取一个空行,test就通过不了,80%了一万年!
我在用sys.stdin.readlines()读取所有数据后, 去掉空行,成功摆脱80%(身心通畅):
all_lines = sys.stdin.readlines()
all_lines = [item for item in all_lines if item != '\n']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)