如何有效地处理python中的键错误异常?

时间:2017-05-27 10:24:07

标签: python

我有一些包含某些项目的字典。我想接受用户的键输入并显示相应的项目。但是,如果用户输入了未在字典中定义的错误密钥,则会引发密钥错误异常。

我希望代码返回到行结束执行,如果发生密钥错误异常,则写入用户输入的命令。

我使用了try except语句,但显示错误。请帮我解决这个问题。

以下是我的代码:

a={'name':'pav','q1':'y','age':26}
try:
  k=input()
  print (a[k])
except KeyError: 
  continue 

2 个答案:

答案 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')