如何修复python中字典代码中的运行时错误?
我正在完成为期30天的hackerrank挑战。问题是:给定姓名和电话号码,组装一个电话簿,将朋友的姓名映射到他们各自的电话号码。然后,您将获得一个未知数量的姓名,以查询您的电话簿。对于每个查询的项目,以name=phoneNumber的形式在新行上打印电话簿中的相关条目;如果未找到的条目,请改为“未找到打印”。我成功地通过了除1之外的所有测试用例,当numberOfEntries为1000时,我遇到了一个运行时错误。我该如何解决这个问题如何修复python中字典代码中的运行时错误?,python,dictionary,runtime-error,Python,Dictionary,Runtime Error,我正在完成为期30天的hackerrank挑战。问题是:给定姓名和电话号码,组装一个电话簿,将朋友的姓名映射到他们各自的电话号码。然后,您将获得一个未知数量的姓名,以查询您的电话簿。对于每个查询的项目,以name=phoneNumber的形式在新行上打印电话簿中的相关条目;如果未找到的条目,请改为“未找到打印”。我成功地通过了除1之外的所有测试用例,当numberOfEntries为1000时,我遇到了一个运行时错误。我该如何解决这个问题 numberOfEntries = int(input(
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,所以谢谢 将电话号码转换为
int
似乎有风险,如果它以0
开头会怎样?我同意@Nick的观点,而且,电话号码也可以由类似+
(国家代码)的字符组成,这些字符不能转换为int