代码在spyder中运行但在在线测试中没有?

时间:2016-11-15 01:10:42

标签: python-2.7

我正在尝试解决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

我认为读取输入的最后一行的方式有问题,但我不知道要解决它。

1 个答案:

答案 0 :(得分:0)

以下是使用try / except来处理没有进一步输入错误的一些示例和讨论:https://www.hackerrank.com/challenges/30-dictionaries-and-maps/forum/comments/135546