如果用户的输入存在于数据中,如何检查用户的输入

时间:2014-08-11 03:11:09

标签: python function dictionary

我通过允许用户在字典中存储用户名和密码来使我的代码工作。在我要求用户登录之后,然后函数login()通过字典查看它是否存在。如果用户处于欢迎状态,则用户再次尝试。这是我的代码。

data = {}
def store(stor, username, password):
    stor[username] = password   

def create():
    for i in range(2):
        user = raw_input("Username: ")
        pas = raw_input("Password: ")
        while user in data:
            print("Try Again")
            user = raw_input("Username: ")
            pas = raw_input("Password: ")
        store(data,user, pas)
        print (data)

def login():
    create()
    print("")
    loguser = raw_input("Please Enter Username: ")
    logpass = raw_input("Please Enter Password: ")
    if loguser and logpass in data:
        print ("Welcome!")
    else:
        print ("Try Again!)
    store(data, loguser, logpass)

login()

2 个答案:

答案 0 :(得分:1)

更改行

if loguser and logpass in data:

to,

if (loguser,logpass) in data.items():

答案 1 :(得分:0)

问题应该在用户身份验证行中。

if loguser and logpass in data:

此行检查loguser的值是否为True以及logpass是否在字典数据的键中。

您应该将此行更改为:

if loguser in data and data[loguser] == logpass:

检查loguser是否在字典中,以及data [loguser]的值,即passwd,是否等于logpass。