Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/76: Рейтинг темы: голосов - 76, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 09.01.2020
Сообщений: 5

Проверка пароля

08.01.2021, 22:39. Показов 16255. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня возникла проблема в коде

Напишите программу, которая будет требовать у пользователя ввода нового пароля до тех пор, пока не будет введен корректный, либо пока пользователь не прекратит программу с клавиатуры, то есть нажмет комбинацию клавиш Ctrl-Break или аналогичную ей.
Критерии правильности пароля аналогичны критериям из задачи "Пароли часть 2" из классной работы.
Если пользовател вводит неправильный пароль, то необходимо вывести имя класса того типа исключения, который будет "выброшен" вашей программой. После этого ввод продолжается.
Если пользователь прерывает работу программы "волшебной" комбинацией клавиш, то надо вывести фразу Bye-Bye и сразу же завершить работу программы.
Если пользователь вводит текст Ctrl+Break, то программа должна искусственно сымитировать нажатие "волшебной" комбинации клавиш.
Как только будет введен правильный пароль следует вывести ok и тотчас же прекратить выполнение программы.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
class PasswordError(Exception):
    pass
 
 
class LengthError(PasswordError):
    pass
 
 
class LetterError(PasswordError):
    pass
 
 
class DigitError(PasswordError):
    pass
 
 
class SequenceError(PasswordError):
    pass
 
 
st = 0
 
 
def test1(q):
    if len(q) > 8:
        return True
    else:
        return False
 
 
def test2(w):
    if w.upper() == w or w.lower() == w:
        return False
    else:
        return True
 
 
def test3(e):
    w = False
    for i in "1234567890":
        if i in e:
            w = True
    return w
 
 
def test4(r):
    qwe = ['qwertyuiop', 'asdfghjkl', 'zxcvbnm', 'йцукенгшщзхъ', 'фывапролджэё', 'ячсмитьбю']
    for i in range(len(r) - 2):
        if any([r[i:i + 3].lower() in elem for elem in qwe]):
            return False
    return True
 
 
def check_password(password):
    global st
    if not test1(password):
        raise LengthError
    if not test2(password):
        raise LetterError
    if not test3(password):
        raise DigitError
    if not test4(password):
        raise SequenceError
    st = 1
    return 'ok'
 
 
while st == 0:
    password = input()
    try:
        print(check_password(password))
    except KeyboardInterrupt:
        if password == 'Ctrl+Break':
            print('Bye-Bye')
            break
    except Exception as e:
        print(e.__class__.__name__)
Ввод
12345
amsndbashgdwgehd
qweasdzxc1Z
U1S6OTeEпьdъТ3

Ожидаемый результат
LengthError
LetterError
SequenceError
ok

Вывод
Решение не имитирует нажатие Ctrl+Break
Makefile:5: recipe for target 'run' failed

не знаю как исправить эту ошибку
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.01.2021, 22:39
Ответы с готовыми решениями:

Проверка пароля
Здравствуйте, не могу разобраться в чём ошибка моего кода, благодарен за Вашу помощь. Задача: Ввести с клавиатуры пароль (символьную...

Проверка пароля
Задача то легкая, но я не понимаю какая у меня ошибка в коде. Условие - Напишите программу, которая будет требовать у пользователя ввода...

Проверка пароля
pas def pas (password) : """"введите пароль""" password = input if "pas = snow123": print ("успешный вход") else: ...

13
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
08.01.2021, 22:43
Цитата Сообщение от ktokto Посмотреть сообщение
Если пользователь прерывает работу программы "волшебной" комбинацией клавиш, то надо вывести фразу Bye-Bye и сразу же завершить работу программы.
а у тебя
Цитата Сообщение от ktokto Посмотреть сообщение
except KeyboardInterrupt:
        if password == 'Ctrl+Break':
то есть если он нажал контрол+бреак и пароль не ввел то выхода не происходит

нужно ввод текстом 'Ctrl+Break' вынести в функцию проверки и при таком случае кидать КейбордИнтеррапт
0
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
08.01.2021, 22:49
ktokto,

Не по теме:

это яндекс лицей 2 курс??

0
0 / 0 / 0
Регистрация: 09.01.2020
Сообщений: 5
08.01.2021, 22:52  [ТС]
Не очень понял как кинуть KeyboardInterrupt просто до этого не приходилось с ним сталкиваться

Добавлено через 1 минуту
Ychenyi,
да это второй курс
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
08.01.2021, 22:52
ktokto, а где тогда код своровал?

вот же ты кидаешь другие исключения

Цитата Сообщение от ktokto Посмотреть сообщение
if not test1(password):
        raise LengthError
    if not test2(password):
        raise LetterError
    if not test3(password):
        raise DigitError
    if not test4(password):
        raise SequenceError
правда делаешь это неверно... явно где то я уже это видел
0
0 / 0 / 0
Регистрация: 09.01.2020
Сообщений: 5
08.01.2021, 22:54  [ТС]
Welemir1,
Не воровал этот на уроке делали далее я его дорабатывал
0
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
08.01.2021, 22:55
ktokto,

Не по теме:

оо классно
слушай а вот задания/ темы которые проходили на первом курсе , к ним остался доступ? ну т.е. ты можешь зайти в эту карточку с темами 1 курса где теория, задания?

0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
08.01.2021, 22:56
Цитата Сообщение от ktokto Посмотреть сообщение
Не воровал этот на уроке делали далее я его дорабатывал
и чем кейборд исключение от остальных отличается?
0
08.01.2021, 22:56

Не по теме:

или как заканчиваешь первый курс в LMS закрывают доступ ко всему пройденному на первом курсе?

0
0 / 0 / 0
Регистрация: 09.01.2020
Сообщений: 5
08.01.2021, 23:10  [ТС]
Welemir1,
1 исключение для проверки длины 2 для проверки регистра 3 наличие цифр 4 проверка на последовательность подряд идущих трëх символов
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
08.01.2021, 23:12
Лучший ответ Сообщение было отмечено ktokto как решение

Решение

Цитата Сообщение от ktokto Посмотреть сообщение
1 исключение для проверки длины 2 для проверки регистра 3 наличие цифр 4 проверка на последовательность подряд идущих трëх символов
ты мне зачем это написал? я тебя спросил чем кейборд исключение отлдичается от них? это риторический вопрос. ответ -ничем. А значит кидай его в этой же функции, если пароль равен "контрол+ентер" а в основном коде условие убери
1
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
08.01.2021, 23:21
ktokto,

Не по теме:

чувак ответь на мой вопрос выше пожалуйста

0
0 / 0 / 0
Регистрация: 09.01.2020
Сообщений: 5
08.01.2021, 23:53  [ТС]
Ychenyi,
Сори свет вырубили.Доступ к прошлогодним заданиям есть

Добавлено через 4 минуты
Welemir1,
спасибо за помощь
0
38 / 39 / 7
Регистрация: 13.11.2020
Сообщений: 678
09.01.2021, 00:09
ktokto, о,это хорошо даже
Слушай , а скинь свою почту, а то вдруг больше сюда не зайдешь и никак не связаться с тобой будет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2021, 00:09
Помогаю со студенческими работами здесь

Проверка пароля
Как сделать так что бы при введении правильного пароля вылезала надпись, а при неправильном другая надпись?

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

Проверка пароля
Как известно, когда мы придумываем пароль от аккаунта ВКонтакте, электронной почты или Яндекс.Контеста, к этому паролю часто предъявляются...

Проверка пароля на криптостойкость
Пароль называется криптостойким, если он включает в себя и строчные латинские буквы, и заглавные латинские буквы, и цифры, при этом его...

Проверка логина и пароля
Имеется программа которая добавляет логин и пароль человека в файл под названием out.txt, теперь требуется программу ''Проверка логина и...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru