if password_Dictionary[username] == password:
print("Allow!\n")
break
else:
print("Wrong!\n")
if password_Dictionary[username] == password:
KeyError: 'cskmcdsk'
如果用户输入用户名但不是正确的密码enter code here
,程序将正确运行一条打印语句,说明用户输入了错误的密码,但当用户输入了错误的用户名/不存在的用户名时,它会引发“KeyError”,其中“cskmcdsk”是用户尝试输入但不存在的随机用户名
我如何停止编码导致错误,而是继续运行,并打印一个声明用户名不在字典中的输出
您可以简单地使用try-catch块来处理密钥错误,因此当出现错误时,您可以捕获它并在捕获
KeyError
时执行任何您想要的操作不要使用
try
/except
块(异常不适用于正常控制流)。相反,检查dict中是否存在密钥,例如或者,或者,使用^{} 返回
None
,或者使用一些默认值(一定要选择一个默认值,该默认值也不会是==
的另一侧的值),例如另外,如果您正在存储密码,请确保使用强单向散列函数(例如BCrypt)
相关问题 更多 >
编程相关推荐