Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获取用户';s要检查的输入是否存在于数据中_Python_Function_Dictionary - Fatal编程技术网

Python 如何获取用户';s要检查的输入是否存在于数据中

Python 如何获取用户';s要检查的输入是否存在于数据中,python,function,dictionary,Python,Function,Dictionary,通过允许用户在字典中存储用户名和密码,我的代码得以运行。在我要求用户登录之后,然后函数login()遍历字典以查看它是否存在。如果它存在于欢迎的用户中,则用户重试。这是我的密码 data = {} def store(stor, username, password): stor[username] = password def create(): for i in range(2): user = raw_input("Username: ")

通过允许用户在字典中存储用户名和密码,我的代码得以运行。在我要求用户登录之后,然后函数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()

问题应该出在用户身份验证线路上

if loguser and logpass in data:
此行检查loguser的值是否为True,以及logpass是否位于字典数据的键中

您应将此行更改为:

if loguser in data and data[loguser] == logpass:
检查loguser是否在字典中,以及data[loguser]的值(即passwd)是否等于logpass。

更改行

if loguser and logpass in data:
对,

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