|
8 / 7 / 1
Регистрация: 09.06.2017
Сообщений: 34
|
||||||
Генератор визуально различимых паролей (A + B)19.04.2019, 23:45. Показов 39939. Ответов 7
Метки нет (Все метки)
Требуется по запросу выдавать N различных паролей длиной M символов, состоящих из строчных и прописных латинских букв и цифр, кроме тех, которые легко перепутать между собой: «l» (L маленькое), «I» (i большое), «1» (цифра), «o» и «O» (большая и маленькая буквы) и «0» (цифра).
Дополнительное условие: в каждом пароле обязательно должна присутствовать хотя бы одна цифра и как минимум по одной букве в верхнем и нижнем регистре, причём все символы должны быть различны. Решение должно содержать две функции: вспомогательную generate_password(m), возвращающую случайный пароль длиной m символов, и основную main(n, m), возвращающую список из n различных паролей, каждый длиной m символов. Будем считать, что параметры n и m всегда таковы, что требуемые пароли возможно сгенерировать. Формат ввода Пример вызова ваших функций для тестирования: print("Случайный пароль из 7 символов:" , generate_password(7)) print("10 случайных паролей длиной 15 символов:") print(*main(10, 15), sep="\n") Формат вывода Пример результатов: Случайный пароль из 7 символов: A6fXxBh 10 случайных паролей длиной 15 символов: JebgLW4Ndzkt6rU Q3nbTS9ERguDy2e E98heZH32fFGVTN hJZ5bvCrny2RFEA rumkV5WzSHKRA9q 3Yd7exfi6HBZ98y aUWZgjDutswnHv7 vU2x7wNQHps4nmi a8zn23vNGipJqk7 nkQ5hCetWJ3jHRF Примечания Возможно, вам пригодятся константы string.ascii_uppercase, string.ascii_lowercase и string.digits из модуля string.
Ошибка Traceback (most recent call last): File "test.py", line 15, in <module> check_password(generate_password(m), m) File "test.py", line 10, in check_password assert any(ch.isupper() for ch in password), "нет прописной буквы в пароле: " + password AssertionError: нет прописной буквы в пароле: bei make: *** [run] Error 1 Как это исправить?
0
|
||||||
| 19.04.2019, 23:45 | |
|
Ответы с готовыми решениями:
7
Генератор визуально различимых паролей (B) Генератор визуально различимых паролей
|
|
|
||||||
| 20.04.2019, 01:10 | ||||||
Сообщение было отмечено vladddddddddddd как решение
Решение
vladddddddddddd,
10 случайных паролей длиной 15 символов: S467w38697xg487 KHAWyZ3A7MffP6s p7F5pxSqyK9vayj 96922p9T7752846 6Q7395997436t4P r489g2d5Xz8h495 xm6rh6bv6zT8M4f pq625QcG4Y79W98 yuh58er7fnftnrD qqHHuPqku6VU9pM
1
|
||||||
|
38 / 36 / 2
Регистрация: 24.03.2020
Сообщений: 39
|
||||||
| 28.03.2020, 07:48 | ||||||
|
Если не проходит по PEP-8, то вот:
Вердикт runtime-error Лог компиляции stdout: /bin/sh ./build.sh 1>&2 stderr: Время / Память 35ms / 4.26 MB Номер теста 4 Ошибка Traceback (most recent call last): File "test.py", line 15, in <module> check_password(generate_password(m), m) File "test.py", line 6, in check_password assert len(set(password)) == m, "повторяются символы в пароле: " + password AssertionError: повторяются символы в пароле: 93JkVBSFFpPmiCTMwKSUGGZG96EV3P make: *** [run] Error 1 Ввод 1 30 Ожидаемый результат ok Вывод Makefile:5: recipe for target 'run' failed Сообщение Completion status: ABNORMAL_EXIT Term sig: null Error code: 2
0
|
||||||
|
2 / 1 / 1
Регистрация: 16.11.2019
Сообщений: 13
|
|
| 20.04.2020, 20:25 | |
|
в Pycharm закинуть сложно? он pep8 исправляет
0
|
|
|
38 / 36 / 2
Регистрация: 24.03.2020
Сообщений: 39
|
|
| 11.05.2020, 19:34 | |
|
А можешь скинуть как правильно? Пожалуйста...
0
|
|
|
48 / 44 / 4
Регистрация: 09.12.2019
Сообщений: 27
|
||||||
| 12.05.2020, 12:23 | ||||||
3
|
||||||
|
5 / 5 / 0
Регистрация: 07.11.2021
Сообщений: 21
|
|
| 06.03.2022, 22:58 | |
|
from random import choice
from random import shuffle mal = 'abcdefghijkmnpqrstuvwxyz' bolsh = 'ABCDEFGHJKLMNPQRSTUVWXYZ' cifr = '23456789' Bukv = 'abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQ RSTUVWXYZ23456789' def generate_password(m): c = '' k = 0 for i in range(m): if k == 0: c += choice(cifr) k += 1 elif k == 1: c += choice(bolsh) k += 1 elif k == 2: c += choice(mal) k += 1 j = list(Bukv).copy() del j[j.index(c[0])] del j[j.index(c[2])] del j[j.index(c[1])] else: ma = choice(Bukv) if ma not in c: c += ma else: while True: ma = choice(Bukv) if ma not in c: c += ma break c = list(c) shuffle(c) c = ''.join(c) return c def main(n, m): a = [] for i in range(n): g = generate_password(m) if g not in a: a.append(g) else: while True: g = generate_password(m) if g not in a: a.append(g) break return a
0
|
|
|
225 / 15 / 3
Регистрация: 07.04.2022
Сообщений: 74
|
||||||
| 27.04.2022, 22:58 | ||||||
|
Если это задача, то всякие финтифлюшки понятны. А если для личного использования, как я себе делал, то лучше так:
4 цифры, 10 букв, 1 символ - все неповторяющиеся. Легко задать другие соотношения.
0
|
||||||
| 27.04.2022, 22:58 | |
|
Помогаю со студенческими работами здесь
8
Генератор паролей Генератор паролей Генератор визуально различимых паролей Генератор визуально различимых паролей(В) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|