首页 > 解决方案 > 如何检查两个输入变量是否在两个不同列表中的相同位置并返回有效?

问题描述

我正在尝试在终端中创建一个简单的登录序列,但我不知道如何检查用户名和密码是否在列表中的相同位置

usernames = ['username', 'hello']
passwords = ['password', 'world']

# my code so far:
from getpass import getpass
import time
import logins

username = input('Username: ')
password = input('Password: ')

print('Logging In...')
time.sleep(1)

def check_login(user, pasw):
    if user in logins.users and pasw in logins.passes:
        print('Valid')
    else:
        print('Invalid user and password, try again.')


check_login(username, password)

#它可以工作,除了我可以输入(用户名,世界)或(你好,密码)#我正在尝试检查每个用户名和密码的顺序是否相同(0,0,1,1等)并 #return 它为有效。任何帮助表示赞赏:)

标签: pythonlistauthentication

解决方案


根据我对这个问题的了解,您可以使用index内置列表检查他们的索引,以断言用户和密码是否位于同一位置。

def check_login(user, pasw):
    if user in logins.users and pasw in logins.passes and logins.users.index(user)==logins.passes.index(pasw):
        print('Valid')
    else:
        print('Invalid user and password, try again.')

推荐阅读