问题描述
我正在完成 30 天的hackerrank 挑战。这就是问题:给定姓名和电话号码,组装一个电话簿,将朋友的姓名映射到他们各自的电话号码。然后你会得到一个未知数量的名字来查询你的电话簿。对于每个查询,以 name=phoneNumber 的形式在新行上打印电话簿中的相关条目;如果未找到条目,则打印 Not found。我设法通过了除 1 之外的所有测试用例,当 numberOfEntries 为 1000 时出现运行时错误。我该如何解决这个问题?
numberOfEntries = int(input())
phoneBook = dict()
for i in range(0,numberOfEntries):
entry = input()
temp = entry.split(" ")
phoneBook[temp[0]] = int(temp[1])
for index,item in enumerate(phoneBook):
query = input()
if index == numberOfEntries:
break
if query in phoneBook.keys():
print(f"{query}={phoneBook[query]}")
else:
print("Not found")
解决方法
感谢大家的投入。结果我唯一需要做的就是:
numberOfEntries = int(input())
phoneBook = dict()
for i in range(0,numberOfEntries):
entry = input()
temp = entry.split(" ")
phoneBook[temp[0]] = int(temp[1])
for index,item in enumerate(phoneBook):
try:
query = input()
if index == numberOfEntries:
break
if query in phoneBook.keys():
print(f"{query}={phoneBook[query]}")
else:
print("Not found")
except:
break
我一定会编辑代码以确保它也接受运算符和 0,谢谢!