赛码python多⾏输⼊框_在线编程中的数据读取问题⽜科⽹,⽜
客,赛码
⼀. 数据读取的⽅式(python3)
1. input()读取输⼊数据
while True:
try:
inputs = input()
except:
break
2. ⽹站的数据输⼊是是⼀个含有多⾏数据的input⽂件(.in⽂件,可以⽤⽂本打开), 可以直接⽤adlines()读取所有⾏数据,这样在本地编译器写代码时,
可以先创建⼀个input.in⽂件,将所有⽰例代码复制到⽂件中,保持原数据格式不变, 创建以下代码读取数据(这种⽅式也⽅便本地编译器调试代码):
import sys
lines = adlines()
all_lines = [item for item in all_lines if item != '\n']
这样,可以处理每⾏数据:
for line in lines:
print(line)
或者跨⾏处理些数据:
all_lines = adlines()
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%了⼀万年!我在⽤adlines()读取所有数据后, 去掉空⾏,成功摆脱80%(⾝⼼通畅):
all_lines = adlines()
python怎么读取文件中的数据all_lines = [item for item in all_lines if item != '\n']
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论