Функция пароля с циклом while - PullRequest
0 голосов
/ 14 июня 2019

Здравствуйте, у меня есть код здесь, где у меня есть цикл while для функции пароля.функция работает, я просто не могу завершить цикл, когда в

# Administrator accounts list
adminList = [
    {
        "username": "DaBigBoss",
        "password": "DaBest"
    },
    {
        "username": "root",
        "password": "toor"
    }
]


# Build your login functions below
def getCreds():
    username = input("What is your username? ")
    password = input("What is your password? ")



    return {"username": username, "password": password}



def checkLogin(adminList, user_info):
    if user_info in adminList:
        loggedIn = True
        print("------")
        print("YOU HAVE LOGGED IN!")


    else: 
        loggedIn = False
        print("------")
        print("Login Failed")

        return

logged = False

while not logged:
    user_info = getCreds()
    is_admin = checkLogin(adminList, user_info)
    if is_admin:
        logged = True

введен правильный пароль, если я введу правильный пароль, я получу результат, что я вошел в систему. но цикл не будетконец

результат

What is your username? d
What is your password? d
------
Login Failed
What is your username? root
What is your password? toor
------
YOU HAVE LOGGED IN!
What is your username?

1 Ответ

0 голосов
/ 14 июня 2019

Вам нужно изменить свои функции:

def checkLogin(adminList, user_info):
    if user_info in adminList:
        ...
        return True
    else:
        ...
        return False

while not logged:
    ...
    if is_admin:
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...