Напишите функцию, которая генерирует случайный пароль заданной длины. Пароль должен содержать буквы в верхнем и нижнем регистре, цифры и специальные символы.
➡️ Пример:
print(generate_password(12)) # Ожидаемый результат: Например, "A1b@c3D#e4F!"
Решение задачи ⬇️
import random
import string
def generate_password(length):
if length < 4: # Минимальная длина для разнообразия символов
raise ValueError("Длина пароля должна быть не менее 4 символов")
all_characters = string.ascii_letters + string.digits + string.punctuation
password = [
random.choice(string.ascii_lowercase),
random.choice(string.ascii_uppercase),
random.choice(string.digits),
random.choice(string.punctuation),
]
password += random.choices(all_characters, k=length - 4)
random.shuffle(password)
return ''.join(password)
# Пример использования:
print(generate_password(12))