所以我试图让HackerRank服务器为我检查代码。我建立了一个名字及其各自的电话号码字典。 HackerRank服务器使用stdin通过在连续行上输入名称来查询其数字的名称,直到名称用完为止。
我知道在shell中使用Ctrl + D(Unix)或Ctrl + Z(Windows)来表示EOF,但我不知道如何设置我的代码以便程序停止尝试读取来自stdin - 当服务器停止输入查询时 - 并打印电话号码。这是我对解决方案的最佳猜测:
N=input() #number of phonebook entries
D={}
for i in range(N): #build phonebook as dictionary using stdin
name=raw_input()
number=raw_input()
D[name]=number
for i in range(10000): #queries are then entered with a max number of 10^4
try:
line=raw_input()
if line in D.keys():
print line + "=" + D[line] #print name=phonenumber
else:
print "Not found"
except EOFError: #break out of loop if EOF is reached
break
这似乎没有这样做,我想知道是不是因为我没有正确地进行EOF阅读,或者如果它是原始问题的一些特点,我可能无法正确解释。
答案 0 :(得分:0)
当您到达文件结尾时,line
将为空字符串''
。