Python字典用户名密码P.

时间:2013-11-16 13:36:31

标签: python if-statement dictionary passwords username

我正在尝试使用字典功能创建一个python用户名和密码数据库(仅用于练习)。到目前为止,我已经写了很多代码。

username_password = {"Dave":"manchester"}
print("Sign up for NetFlour!\n")
name = str(input("Please enter your preferred username.\n"))
passcode = str(input("Thank you, now enter a password as well.\n"))
username_password[name] = passcode
print(username_password)


我只是简单地调用了'Netflour'软件,并将用户的输入和相应的密码存储到名为username_password的字典中。在这里,只有一个用户注册了该服务,即Dave。他已经分配了一个名为“曼彻斯特”的密码。

现在,我将编写用户输入用户名和密码以及“登录”其个人资料的代码。我的问题是,我该怎么做?我已经尝试过has_key但我在python 3.3中,他们之前已经删除了这个函数。我的下一行代码是 -

login_username = str(input("Please enter your username.\n"))
login_password = str(input("Please enter your password.\n"))

在这里,我会创建一个if - else语句,如果用户名和密码匹配,它们将被带到他们的主屏幕,否则如果它不正确,他们必须重新输入两条信息。我被建议使用'in'函数,但由于我在python中不是很先进,我需要一些帮助。此刻,我对加密并不是那么感兴趣,但是一旦我编写了if-else代码,我就会前进到那个阶段,这会让Python同时检查用户名和密码是否正确。

谢谢。

5 个答案:

答案 0 :(得分:2)

if username_password.get(login_username) == login_password:
    # Correct username and password match
    pass
else:
    # Incorrect username/password match
    pass

python字典的get方法将键作为其参数,并返回值(如果存在)。如果键/值对不存在,get将返回None

<小时/> 有关详细信息,请参阅documentation。从链接:

获取键[,默认]

  

如果 key 在字典中,则返回key的值,否则 default 。如果   未给出默认,默认为None,因此此方法永远不会   提出KeyError

答案 1 :(得分:0)

# strip any whitespace from the ends of the input
login_username, login_password = login_username.strip(), login_password.strip()

# check username and password entered are correct
if login_username in username_password and login_password == username_password[login_username]:
    print("Logged in")
else:
    print("bad username / password")

答案 2 :(得分:0)

d = {'Dave':'secretpassword'}
login_username='Dave'
login_password='abc'
if d.has_key(login_username):
    if d[login_username]==login_password:
        print('username and password match')
    else:
        print('user entered the wrong password')
else:
    print('your username is not registered. Would you like to register')

答案 3 :(得分:0)

if login_username in username_passwords.keys() 
        and login_password == username_password[login_username]:
    print "Logged on"
else
    print "Wrong credentials"

答案 4 :(得分:0)

0 down vote

如果username_passwords.keys()中的login_username         和login_password == username_password [login_username]:     打印“已登录” 其他     打印“错误的凭据”LOL NO