Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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)中循环不工作时_Python_Loops_While Loop_Passwords - Fatal编程技术网

在电子邮件密码检查器(python)中循环不工作时

在电子邮件密码检查器(python)中循环不工作时,python,loops,while-loop,passwords,Python,Loops,While Loop,Passwords,此脚本的目标是询问用户他们的电子邮件和密码,如果不正确,则使用while循环,它应不断询问用户的详细信息,直到用户提供正确的电子邮件和密码 即使我第一次输入正确的电子邮件/密码,它也不起作用。带有更正的代码 users = { 1: {"first_name": "Tom", "last_name": "Smith", "email": "tom@email.com", &qu

此脚本的目标是询问用户他们的电子邮件和密码,如果不正确,则使用while循环,它应不断询问用户的详细信息,直到用户提供正确的电子邮件和密码


即使我第一次输入正确的电子邮件/密码,它也不起作用。

带有更正的代码

users = {
1: {"first_name": "Tom", "last_name": "Smith", "email": "tom@email.com", "password": "123123"},

2: {"first_name": "Simon", "last_name": "Stevens", "email": "simon@email.com", "password": "password1234"},

3: {"first_name": "Laura", "last_name": "Laurens", "email": "laura@email.com", "password": "laura1234"},

4: {"first_name": "Gabriel", "last_name": "Mitchel", "email": "gab@email.com", "password": "laura12534"}
}

email_input = input("What's your email?")
password_input = input("What's your password?")

for key, info in users.items():
    name = info["first_name"]
    last_name = info["last_name"]
    email = info["email"]
    password = info["password"]

while email_input != email and password_input != password:
    print("wrong password/email")
    email_input = input("What's your email?")
    password_input = input("What's your password?")    
print("You're logged in",name)

您的
应该是
。您只是将用户输入与
用户
字典中的最后一个用户名和密码进行比较,以防不明显。
users = {
    1: {"first_name": "Tom", "last_name": "Smith", "email": "tom@email.com", "password": "123123"},

    2: {"first_name": "Simon", "last_name": "Stevens", "email": "simon@email.com", "password": "password1234"},

    3: {"first_name": "Laura", "last_name": "Laurens", "email": "laura@email.com", "password": "laura1234"},

    4: {"first_name": "Gabriel", "last_name": "Mitchel", "email": "gab@email.com", "password": "laura12534"}
}


found = False
while not found:                                # loop until match found
    # Get login credentials
    email_input = input("What's your email?")
    password_input = input("What's your password?") 
    
    # check each dictionary for email and password
    for key, info in users.items():
        if email_input == info["email"] and password_input == info["password"]:
            # Found match, so get name
            name = info["first_name"]            
            last_name = info["last_name"]        
            found = True                        # set flag to terminate while loop
            break                               # found match
    else:
        print("wrong password/email")           # Break not encountered in for loop, so did not find match

print(f"You're logged in {name} {last_name}")