首页 > 解决方案 > 如何在 python 中修复我的字典代码中的运行时错误?

问题描述

我正在完成为期 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")

标签: pythondictionaryruntime-error

解决方案


谢谢大家的意见。原来我唯一需要做的是:

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,所以谢谢!


推荐阅读