检查两个输入在两个不同列表中是否具有相同的索引

时间:2018-05-09 16:24:57

标签: python-3.x list

大家好我需要帮助我的计算项目,但无法在谷歌上找到答案。我试图创建一个基本的登录系统,并有2个列表,一个列表中包含用户名,另一个列表中包含密码:

usernames[username1, username2, username3, etc]

passwords[password1, password2, password3, etc]

我想要求用户输入用户名和密码,并检查它们是否在相应的列表中。但是,如果没有人能够使用他们的用户名和其他人的密码登录,我无法解决该怎么做。

我目前的代码是:

def Login():

    usernames = [username1, username2, username3]
    passwords = [password1, password2, password3]
    user = input("Please enter your username: ")
    pw = input("Please enter password: ")
    x = 0
    for x in range(len(usernames)):
        if user == usernames[x] and pw == passwords[x]:
            print("Login Successful")
        elif user == usernames[x] and pw !=  passwords[x]:
            print("Password does not match")
            Login()
        else:
            print("User not recognised")
            Login()
        x = x + 1

我希望能够检查他们给我的用户名在列表中的位置,然后在密码列表中查找该位置,如果该密码是他们提供的密码,他们就可以登录。 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用zip来迭代列表。如果您需要找到位置,请使用enumerate

<强>演示:

def Login():
    usernames = ['username1', 'username2', 'username3']
    passwords = ['password1','password2', 'password3']
    user = input("Please enter your username: ")
    pw = input("Please enter password: ")

    for i, x in enumerate(zip(usernames, passwords)):
        if user == x[0] and pw == x[1]:
            print("Login Successful")
            print("Index Position ", i)
        elif user == usernames[x] and pw !=  passwords[x]:
            print("Password does not match")
            print("Index Position ", i)
            Login()
        else:
            print("User not recognised")
            Login()