问题阐述:
通过参加近3次笔试(阿里、字节跳动、网易)发现
机考的编译界面不同于leetcode(已经给出部分代码,不需要读取,直接用即可)
机考类似于华为机考,需要从零开始,包括读取输入
Bug:读取错误
在读取的时候,本地可以运行的代码却总是会报这个错误
EOFerror:EOF when reading a line
解决这个问题的最好方式是采用try和except语法
list1 = []
while True:
try:
number = input()
if(number == ""):
break
list1.append(number)
except EOFError:
break
for i in list1:
print(int(i,16))
读取多行数据可以采用上面所示代码的结构,while大循环里套上try
原 因 溯 源
产生这个bug的原因是因为机考测试不是人为手动输入测试案例,而是使用管道将输入传进测试的python脚本里,如下
由于EOF无法通过管道被传输,所以会报错,针对于此。牛客特别提供了一套输入输出的测试练习题
链接如下
https://ac.nowcoder.com/acm/contest/320#question
解析如下
https://blog.csdn.net/qq_41023125/article/details/105748780