我正在尝试解决Hackerrank中的问题,代码在Spyder中运行正常,但是当我在其在线测试窗口中运行时会抛出运行时错误。
N = int(raw_input())
myDict = {}
for i in range (N) :
element = raw_input().split()
myDict[element[0]]=element[1]
queries = []
while True:
query = map(str,raw_input().split())
queries.append(query)
for j in range(len(queries)):
NF = True
for name in myDict:
if queries[j][0] == name :
print name + '=' + myDict[name]
NF = False
if (NF):
print 'Not found'
此代码运行正常并传递测试用例(在Spyder中从键盘输入)。当我尝试在Hackerrank的在线测试窗口中针对以下测试用例运行它时,在以下输入上:
3
sam 99912222
tom 11122222
harry 12299933
sam
edward
harry
我收到运行时错误:
Traceback (most recent call last):
File "solution.py", line 13, in <module>
query = map(str,raw_input().split())
EOFError: EOF when reading a line
我认为读取输入的最后一行的方式有问题,但我不知道要解决它。
答案 0 :(得分:0)
以下是使用try / except来处理没有进一步输入错误的一些示例和讨论:https://www.hackerrank.com/challenges/30-dictionaries-and-maps/forum/comments/135546