第8天Hackerrank Python的30天代码-字典和地图
有人能想出为什么我在Python Hackerrank 30天挑战中的这个练习的代码没有通过测试用例1吗?
这就是挑战:
目标今天,我们正在学习使用Map或Dictionary数据结构的键-值对映射。查看教程选项卡中的学习材料和教学视频!
任务给定的姓名和电话号码,组合一个电话簿,将朋友的姓名映射到他们各自的电话号码。然后,您将获得一个未知数量的姓名来查询您的电话簿。对于每个查询,将电话簿中的相关条目打印到name=phoneNumber表单中的新一行上;如果未找到条目,则改为打印未找到。
注意:您的电话簿应该是Dictionary/Map/HashMap数据结构。
输入格式
第一行包含一个整数,表示电话簿中的条目数。随后的每一行都以空格分隔值的形式在一行上描述一个条目。第一个值是朋友的姓名,第二个值是一个-digit电话号码。
在电话簿条目的行之后,有未知数量的查询行。每一行(查询)都包含一个要查找的行,您必须继续读取行,直到没有更多的输入。
注意:名称由小写的英文字母组成,仅为名字。
输出格式
对于每个查询,如果姓名在电话簿中没有相应的条目,则在新行上打印未找到;否则,以name=phoneNumber格式打印完整的和。
下面是我的代码:
n = int(input())
phone_book = {}
for i in range(n):
name, phone_num = map(str,input().split())
name = name.lower()
phone_book[name] = phone_num
queries = 0
while queries in range(n):
query = input().lower()
if query in phone_book:
print(query + "=" + phone_book.get(query))
else:
print("Not found")
queries += 1
对于此测试用例1:
100000
unayklejwm 53561825
ahiff 57272140
frlrecdfxo 28001354
aeccxyrbek 21112785
mlgdk 12405837
iyiyycfngr 23841264
subnwvrqdp 77688226
vhypdqfbdy 67846211
lcnbh 86026675
lxbjpmuhis 85475547
enfifbprov 20172436
hnjctgslxf 18125412
slfoglbvah 47530087
mpsrcmrkon 44365224
jnpslqvlkx 88071512
liwyjbsfkk 50646067
kyrkhaikuf 18535535
ubvfx 43551151
krger 80787433{-truncated-}
我得到的错误不是错误的输出,而是这样的:
编译器消息:
Runtime Error
预期输出
Not found
ipwpabdefa=14170412
Not found
toykmviqbo=11872347
mooetebtqt=70658483
fbubawkkhq=10613664
Not found
ejqxn=77321147
Not found
Not found
Not found
Not found
xgfpx=58118174
Not found
odacddldrk=73267266
Not found
iakxugylkc=41875647
Not found
djtelththc=20278224
Not found{-truncated-}
这只发生在第一个测试用例中,但是其他的用例都成功通过了。
编辑:我只是再次运行了所有的测试用例,这次我根据结果通过了所有的测试用例。然而,即使我很好地通过了所有的测试用例,我仍然得到一个运行时错误。它给了我这个:
Runtime Error :(
出现这个错误有什么原因吗?我应该如何修复我的代码?
如有任何建议,欢迎光临。
转载请注明出处:http://www.tstxxqczl.com/article/20230526/2426654.html