0 / 0 / 0
Регистрация: 03.12.2021
Сообщений: 25

Ваша задача – написать функцию, которая получает логин и пароль пользователя и проверяет их правильность

20.03.2022, 22:10. Показов 3108. Ответов 1

Студворк — интернет-сервис помощи студентам
Ваша задача – написать функцию ask_password(login, password, success, failure), которая получает логин и пароль пользователя и проверяет их правильность. Пароль считается правильным, если в нём содержится ровно три английские гласные буквы (гласными считать буквы a,e,i,o,u,y) и ровно такой же набор согласных (все буквы, кроме перечисленных шести), как в логине. Порядок и количество согласных также должно совпадать. Логин и пароль приводятся к нижнему регистру и передаются.
Пример: для логина “login” подойдут пароли “aaalgn” и “luagon“.
Если пароль правильный, функция должна вызвать коллбэк success, передав ему в качестве аргумента логин. А если пароль был неверный - failure, передав ему в качестве аргументов логин и сообщение об ошибке (в таком порядке). Сообщение об ошибке должно быть одним из трёх вариантов:

“Wrong number of vowels”, если в пароле неверное число гласных;
“Wrong consonants”, если в пароле набор согласных отличается от набора согласных логина;
“Everything is wrong”, если оба условия нарушены.
Также напишите функцию main(login, password), которая вызывает написанную функцию ask_password так, чтобы в случае успеха она печатала “Привет, {логин}!”, а в случае ошибки – “Кто-то пытался притвориться пользователем {логин}, но в пароле допустил ошибку: {текст ошибки, большими буквами}.”.
Внимание! При вводе логина и пароля НЕ выводите подсказку для пользователя вида “Введите логин:”, так как это собьет с толку проверяющую систему.

Пример 1
Ввод

main("anastasia", "nsyatos")

Вывод

Привет, anastasia!

Пример 2

Программа должна проходить по PEP8
Ввод
main("eugene", "aanig")

Вывод
Кто-то пытался притвориться пользователем eugene, но в пароле допустил ошибку: WRONG CONSONANTS.

Пример 3

Ввод
ask_password("anastasia", "nsyatos", lambda login: print('super'), lambda login, err: print('bad'))

Вывод

super
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.03.2022, 22:10
Ответы с готовыми решениями:

Задача – написать функцию, которая получает логин и пароль пользователя и проверяет их правильность
Иногда бывают ситуации, когда вы хотите поручить управление программой функции, а не ориентироваться на результат её выполнения. Этому...

Написать функцию, которая проверяет правильность логина
Пользователь придумывает логин. Составь функцию, которая проверяет правильность логина. Правильный логин: содержит только буквы...

Вводится строка, содержащая команду вида: ftp://логин:пароль@адрес_сервера. Написать программу, которая из введенной строки выделяет логин, пароль и а
Вводится строка, содержащая команду вида: ftp://логин:пароль@адрес_сервера. Написать программу, которая из введенной строки выделяет логин,...

1
 Аватар для avdivo
303 / 213 / 112
Регистрация: 03.12.2016
Сообщений: 409
21.03.2022, 03:51
noobmaster2007,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import re
 
 
def ask_password(login, password, success=False, failure=False):
    login = login.lower()
    password = password.lower()
    report = ''
    if len(re.sub(f'[bcdfghjklmnpqrstvwxz]', '', password)) != 3:
        report = 'Wrong number of vowels'
    if re.sub(f'[aeiouy]', '', login) != re.sub(f'[aeiouy]', '', password):
        report = 'Everything is wrong' if report else 'Wrong consonants'
    if report:
        if failure:
            failure(login, report)
        return login, report
    else:
        if success:
            success(login)
        return login, report
 
 
def main(login, password):
    report = ask_password(login, password)
    if not report[1]:
        print(f'Привет, {report[0]}!')
    else:
        print(
            f'Кто-то пытался притвориться пользователем {report[0]}, но в пароле допустил ошибку: {report[1].upper()}.')
 
 
main(input(), input())
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2022, 03:51
Помогаю со студенческими работами здесь

Написать функцию, которая проверяет правильность расстановки круглых скобок в арифметическом выражении
Написать функцию, которая проверяет правильность расстановки круглых скобок в арифметическом выражении. Разработать программу, которая...

Написать рекурсивную функцию которая получает пароль и его длину
Нужна помощь с домашним заданием, задача такова: Написать рекурсивную функцию которая получает пароль и его длину (длина предварительно...

Напишите эффективную программу, которая получает последовательность чисел, а также проверяет правильность контрольного значения
По каналу связи передается последовательность положительных целых чисел, все числа не превышают 1000, их количество заранее ...

Создайте функцию, которая получает пароль в параметре и возвращает функцию которая сравнивает строку с паролем.
Создайте замыкание: function makePassword(password) { return function nickname(passwordGuess) { return...

Написать программу которая проверяет правильность арифметических выражений
Арифметическое выражение составлено из однобуквенных переменных, знаков операций +, -, *, / и круглых скобок. Составьте программу, которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru