Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Генератор паролей с настройками

Улучшим простой генератор: пусть пользователь сам выбирает длину и то, включать ли цифры и спецсимволы.

Собираем набор символов по флагам

Набор символов складываем из частей в зависимости от ответов пользователя: буквы берём всегда, а цифры и спецсимволы добавляем, только если их попросили.

import string
alphabet = string.ascii_letters
if input('Цифры? y/n: ') == 'y':
    alphabet += string.digits
if input('Спецсимволы? y/n: ') == 'y':
    alphabet += '!@#$%'

Задаём длину и генерируем

Длину спрашиваем и превращаем в число через int. Дальше собираем пароль из случайных символов набора — как и в базовой версии.

import random
length = int(input('Длина: '))
pwd = ''.join(random.choice(alphabet) for _ in range(length))
print(pwd)

Гарантируем разные типы

Чтобы в пароле точно была хотя бы одна цифра и спецсимвол, можно добавить их принудительно, а затем перемешать пароль функцией random.shuffle по списку символов.

Частые вопросы

Как сделать надёжнее? Для реальных паролей замените random на secrets.

Что если набор пустой? Проверьте, что alphabet не пуст, иначе choice вызовет ошибку.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание