Условие:
Skillfactory | Задача с автопроверкой кода – 13.6.9 (19.6.9)
Инструкция по использованию платформы
Вы работаете в компании, разрабатывающей системы безопасности.
Ваша задача — протестировать модули, которые отвечают за генерацию паролей для пользователей. Вам нужно создать замыкание, которое будет генерировать уникальные пароли заданной длины из заданных символов, чтобы убедиться в его эффективности и безопасности.
Создайте замыкание createpasswordgenerator, которое будет генерировать пароль указанной длины из заданных символов. При каждом вызове должен генерироваться новый уникальный пароль.
createpasswordgenerator принимает целое число — длину генерируемого пароля, и symbols — строку из символов, которые будут участвовать в генерации пароля.
Примечание: в качестве отправки ответа на проверку нужно только объявить 'createpasswordgenerator'.
Пример работы программы:
symbolsforpassword = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
passwordgenerator = createpasswordgenerator(10, symbolsforpassword)
print(passwordgenerator())
print(passwordgenerator())
Stl0tgwWSL
oboYrgROdF
Решение:
Для решения задачи мы создадим замыкание createpasswordgenerator, которое будет генерировать уникальные пароли заданной длины из заданных символов. Давайте разберем шаги, необходимые для реализации этого замыкания.
Шаг 1: Определение функции createpasswordgenerator
Функция
createpasswordgenerator будет принимать два параметра:1.
length — длина генерируемого пароля.2.
symbols — строка символов, из которых будет составляться пароль.Шаг 2: Внутренняя функция для генерации пароля
Внутри
createpasswordgenerator мы создадим внутреннюю функцию, которая будет генерировать пароль. Для этого мы будем использовать модуль random для случайного выбора символов.