Задача (решил переписать в виде текста):
У вас есть словарь с именами пользователей и их паролями (скопируйте его в свой код):
USERS = {
"admin": "admin",
"Doberman": "derparol",
"BabValya": "12345",
}
Напишите функцию check_pass, которая получает имя пользователя и пароль и возвращает значение True, если переданные параметры совпали с данными в словаре.
Кроме того, функция должна выводить сообщение "ПОЛЬЗОВАТЕЛЬ НЕ ОБНАРУЖЕН!", если переданное имя пользователя отсутствует в словаре и "НЕВЕРНЫЙ ПАРОЛЬ!" в случае несовпадения пароля. В этих случаях функция возвращает False.
Напишите функцию authorize, которая возвращает значение True только после успешной авторизации. Функция зациклена и не допускает выхода без успешной авторизации.
Для авторизации функция считывает из консоли через пробел строку: имя пользователя и пароль. Если введено неправильное количество объектов (не равно 2), выдается сообщение "ОШИБКА АВТОРИЗАЦИИ!". Имя и пароль должны проверяться функцией check_pass. При успешной авторизации выдаётся сообщение "УСПЕШНО" и возвращается значение True.
Формат ввода:
- Для функции check_pass: str, str
- Для функции authorize: None
Формат вывода:
- Обе функции должны возвращать bool и выводить в стандартный поток вывода
требуемые строки.
Пример:
Ввод:
привет
Вывод:
ОШИБКА АВТОРИЗАЦИИ!
Ввод:
первая проверка
Вывод:
ПОЛЬЗОВАТЕЛЬ НЕ ОБНАРУЖЕН!
Ввод:
admin admin
Вывод:
УСПЕШНО
Программа на Python, как я понял:
USERS = {
"admin": "admin",
"Doberman": "derparol",
"BabValya": "12345",
}
def check_pass(username, password):
if username in USERS:
if USERS[username] == password:
return True
else:
print("НЕВЕРНЫЙ ПАРОЛЬ!")
return False
else:
print("ПОЛЬЗОВАТЕЛЬ НЕ ОБНАРУЖЕН!")
return False
def authorize():
while True:
input_str = input("Введите имя пользователя и пароль: ").split()
if len(input_str) != 2:
print("ОШИБКА АВТОРИЗАЦИИ!")
continue
username, password = input_str
if check_pass(username, password):
print("УСПЕШНО")
return True
# Пример использования
authorize()
USERS = {
"admin": "admin",
"Doberman": "derparol",
"BabValya": "12345",
}