我有一些包含某些项目的字典。我想接受用户的键输入并显示相应的项目。但是,如果用户输入了未在字典中定义的错误密钥,则会引发密钥错误异常。
我希望代码返回到行结束执行,如果发生密钥错误异常,则写入用户输入的命令。
我使用了try except语句,但显示错误。请帮我解决这个问题。
以下是我的代码:
a={'name':'pav','q1':'y','age':26}
try:
k=input()
print (a[k])
except KeyError:
continue
答案 0 :(得分:1)
如果密钥存在,只需使用dict.get(key),它将返回其值,否则它将返回None,您只需检查该值:
key=input()
value = dict.get(key)
while value == None:
key=input()
value = dict.get(key)
print value
答案 1 :(得分:0)
这可以通过两种方式完成,可以通过设置尝试限制的数量或使用无限循环来实现。
下面是3个尝试限制的示例,对于无限循环,您可以用while替换循环。
a={'name':'pav','q1':'y','age':26}
for i in range(3):
k = input()
if k in a:
print(a[k])
break
else:
print('Please enter the valid value')