/
Ananev
/
python_gen_advenced
Обзор
Документация
Войти
/
Ananev
/
python_gen_advenced
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
12.2.8.py
44 строки
2 KB
GolosCD
Генератор паролей 1
27 май 2023, 10:41
27 май 2023, 10:41
8d89f0b
Код
Авторство
О чём код?
""" Генератор паролей 1 Напишите программу, которая с помощью модуля random генерирует nn паролей длиной mm символов, состоящих из строчных и прописных английских букв и цифр, кроме тех, которые легко перепутать между собой: «l» (L маленькое); «I» (i большое); «1» (цифра); «o» и «O» (большая и маленькая буквы); «0» (цифра). Формат входных данных На вход программе подаются два числа nn и mm, каждое на отдельной строке. Формат выходных данных Программа должна вывести nn паролей длиной mm символов в соответствии с условием задачи, каждый на отдельной строке. Примечание 1. Считать, что числа nn и mm всегда таковы, что требуемые пароли сгенерировать возможно. Примечание 2. В каждом пароле необязательно должна присутствовать хотя бы одна цифра и буква в верхнем и нижнем регистре. Примечание 3. Решение задачи удобно оформить в виде двух вспомогательных функций: функция generate_password(length) – возвращает случайный пароль длиной length символов; функция generate_passwords(count, length) – возвращает список, состоящий из count случайных паролей длиной length символов. """ import string import random generate_str: list = list((set(string.printable[: string.printable.rindex('!')])) - set('lI1oO0')) def generate_password(length): return length def generate_passwords(count:int, length:int): for _ in range(count): random.shuffle(generate_str) password = random.sample(generate_str,length) print(''.join(password)) if __name__ == '__main__': n, m = int(input()), int(input()) generate_passwords(n,generate_password(m))