python-3.x - 有没有办法比较用户名和密码是否都是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 中。如果有办法做到这一点。还有其他方法吗?
解决方案
先倒置处理成功案例的逻辑。
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')
推荐阅读
- amazon-ec2 - 如何使用 PHP 7.2.13 在 Amazon Linux 上安装 Imap
- perl - Perl 中的 $x -> {_foo} -> {_bar} 是什么意思?
- python-3.x - 需要在 Pandas 中绘制直方图,使得 x 轴是分类的,y 轴是某些列的总和
- java - 这是将列表添加到另一个列表的好方法吗,如果源列表中没有值,则填充默认值
- javascript - Angular 7数组更改值
- python - 如何检测键盘输入以使用 python 播放声音?
- react-native - 使用 appium 检查器/UI automator 无法找到仅用于启动屏幕可见性/文本框的本机应用程序的 id
- excel - Power BI - 将一列中的值分配给新计算列中的新值
- node.js - Node.js 在 npm 模块中使用单文件依赖
- python - 对 CPython threading.Thread 源代码感到困惑——启动和加入