Тренажер кода
Название задания: Фильтрация «слитых» паролей по алгоритму
Условие задания:
Дан список «слитых» паролей. Нужно отфильтровать слабые пароли.
Критерии «слабого» пароля:
длина менее 8 символов;
состоит только из цифр;
содержит слово 'password' или '1234'.
Поиск password выполняется без учёта регистра.
Задача: напишите функцию filter_strong(passwords), которая:
принимает список строк;
возвращает список только «сильных» паролей;
использует цикл и условия (без модуля re).
Пример вывода:
filter_strong(['qwerty', '1234567890', 'MyStr0ng!Pass', 'password123']) →
['MyStr0ng!Pass']
Проверяется:
Функция называется filter_strong(passwords)
Корректно отсекает пароли короче 8 символов
Корректно отсекает пароли, состоящие только из цифр
Корректно отсекает пароли со словом 'password' или '1234'
Критерии оценки:
Правильность фильтрации по всем трём критериям слабости
Использование цикла и условий без regex
Корректный возврат списка «сильных» паролей
Код программы:
# Создайте функцию filter_strong(passwords).
def filter_strong(passwords):
# Создайте пустой список для хранения сильных паролей.
# Переберите все пароли из переданного списка.
# Проверьте длину каждого пароля.
# Проверьте, состоит ли пароль только из цифр.
# Проверьте, содержит ли пароль слово 'password' без учёта регистра
# или последовательность '1234'.
# Если пароль не подходит ни под один критерий слабого пароля,
# добавьте его в список сильных паролей.
# Верните список сильных паролей.
leaks = ['qwerty', '1234567890', 'MyStr0ng!Pass', 'password123']
print(filter_strong(leaks)) # ['MyStr0ng!Pass']