Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

emimash lala Знаток (262), открыт 1 неделю назад
У вас есть словарь с именами пользователей и их паролями (скопируйте его в свой код):
USERS = {
"admin": "admin",
"Doberman": "derparol",
"BabValya": "12345",
}
1 ответ
Константин Бардин Знаток (421) 1 неделю назад
Задача (решил переписать в виде текста):

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

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()
Похожие вопросы