Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Помогите, пожалуйста, решить задачку на Python🙏🏻🙏🏻

У вас есть словарь с именами пользователей и их паролями (скопируйте его в свой код):
USERS = {
"admin": "admin",
"Doberman": "derparol",
"BabValya": "12345",
}

По дате
По рейтингу
Аватар пользователя
Профи

Задача (решил переписать в виде текста):

У вас есть словарь с именами пользователей и их паролями (скопируйте его в свой код):

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, как я понял:

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
 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()