3 回答
TA贡献1864条经验 获得超2个赞
您收到错误是因为您尝试使用users
字典中没有的键访问字典。您使用的密钥是用户的用户名。因此,当字典中没有具有该用户名的用户时,您会收到KeyError
使用try
and的另一种方法except
是将字典重组为用户字典数组,每个用户字典包含键username
和password
TA贡献2065条经验 获得超13个赞
通过改变修复
def oldUser():
username = input("Enter username: ")
passw = input("Enter password: ")
# check if user exists and login matches password
if username not in users:
print ("Username doesn't exist")
print('Game begins')
elif passw == users[username]:
print('Log In successful')
else:
print ("\nUser doesn't exist or wrong password!\n")
while status != "q":
status = LogIn()
TA贡献1827条经验 获得超8个赞
考虑使用 pythontry和except. 它们的存在是为了帮助我们在出现错误时处理错误,同时自定义处理这些错误的方式。因此,对于您的具体问题,请尝试一下:
def oldUser():
username = input("Enter username: ")
passw = input("Enter password: ")
# check if user exists and login matches password
try:
if passw == users[username]:
print ("Login successful!\n")
print('Game begins')
except:
print ("\nUser doesn't exist or wrong password!\n")
添加回答
举报