首页 > 解决方案 > 有没有办法比较用户名和密码是否都是dict login_info中的有效对?

问题描述

我不知道dict login_info中是否有某种类型的功能可以比较用户和密码。

我尝试了一个 for 循环,但这很糟糕。

def login_account():
    user_guess = input('Type your username:  ')
    pass_guess = input('Type your password:  ')
    if user_guess not in login_info:
        print('That user does not exist')
    elif ## comparison if user and password are inside of login_info



login_info = {"Username": "Password"}

我希望 elif 能够比较用户和密码以检查它是否在 login_info 中。如果有办法做到这一点。还有其他方法吗?

标签: python-3.x

解决方案


先倒置处理成功案例的逻辑。

def login_account():
    user_guess = input('Type your username:  ')
    pass_guess = input('Type your password:  ')
    if user_guess in login_info and login_info[user_guess] == pass_guess:
        print('Successful login')
    elif user_guess in login_info:
        print('Wrong password')
    else:
        print('Unknown user')

推荐阅读