Python 3.x python根据字典检查用户详细信息
我感到沮丧,需要一些帮助。如何对照字典检查给定的用户名和密码组合是否有效?我找到了Python 3.x python根据字典检查用户详细信息,python-3.x,Python 3.x,我感到沮丧,需要一些帮助。如何对照字典检查给定的用户名和密码组合是否有效?我找到了get模块,但它的问题是: 如果键在字典中,则返回键的值,否则为默认值。如果未给出default,则默认为None,这样该方法就不会引发keyrerror 我也发现了这一点,但代码: usr_pwd = {'adam' : 'Test123', 'alice' : 'Test321'} u_name = input("Please specify your username: ") u_pwd = input("P
get
模块,但它的问题是:
如果键在字典中,则返回键的值,否则为默认值。如果未给出default,则默认为None,这样该方法就不会引发keyrerror
我也发现了这一点,但代码:
usr_pwd = {'adam' : 'Test123', 'alice' : 'Test321'}
u_name = input("Please specify your username: ")
u_pwd = input("Please specify your password: ")
usr_pwd[u_name] = u_pwd
if usr_pwd.get(u_name) == u_pwd:
print('ok')
不适合我…有几种常用的方法来检查dict中的信息,每种方法都有自己的位置。这里有一些选择
if login in users and passw in users: # login matches password
print "Login successful!\n"
引用文本的“问题”到底是什么?错误的密码看起来正确吗?您可以在
usr\u pwd[u\u name]=u\u pwd
处用提示密码覆盖正确的密码。您需要再次阅读该链接问题<代码>如果在用户中登录,在用户中密码:是错误。在您的示例中,您正在对照一个固定的密码数据库检查密码。您没有任何代码供用户注册新密码,因此不应在任何地方设置密码。由于此代码只进行验证,因此不应将其写入数据库。get
works。如果删除这一行,现在就有了一个程序,可以根据用户名/密码的固定字典验证密码。如果输入了不存在的用户名,get
将返回None
。你的程序将对坏用户名和坏密码一视同仁。非常感谢!我感谢你的帮助。
usr_pwd = {'adam' : 'Test123', 'alice' : 'Test321'}
u_name = input("Please specify your username: ")
u_pwd = input("Please specify your password: ")
# use get
if usr_pwd.get(u_name) == u_pwd:
print('ok')
else:
print('user name or password incorrect')
# check first
if u_name in usr_pwd:
if usr_pwd[u_name] == u_pwd:
print('ok')
else:
print('bad password')
else:
print('bad user name')
# try and die
try:
if usr_pwd[u_name] == u_pwd:
print('ok')
else:
print('bad password')
except:
print('bad user name')