带Dict [关闭]的Python基本登录系统

问题描述 投票:0回答:2

我想用字典登录系统。此代码有效,但是如果我在登录屏幕上输入其他用户名,则程序会出错。

database={'name': '1234', 'name2': '5678', 'name3': '9012'}

def log():
    name = input('Enter username: ')
    ask = input('Enter pin: ')
    if ask in database[name]:
        print ('Welcome', name)
    else:
        print ('Invalid code')
log()
python dictionary authentication
2个回答
0
投票

您在查询database[name]时没有先检查namedatabase中。而是:

database={'name': '1234', 'name2': '5678', 'name3': '9012'}

def log():
    name = input('Enter username: ')
    ask = input('Enter pin: ')
    if name in database:
        if ask == database[name]: # changed this to an 'equals' rather than 'in'
            print ('Welcome', name)
        else:
            print ('Pin wrong!')
    else:
        print ('Username does not exist.')

log()

0
投票

首先,您必须检查用户名是否确实存在,因为否则,您将由于尝试访问不存在的字典中的条目而收到错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.