Перевірка пароля на правила
Напишіть функцію validate_password(password: str) -> bool
, яка перевіряє, чи введений пароль відповідає всім заданим вимогам безпеки.
Вимоги до паролю (правила):
- Містить хоча б одну велику літеру (A-Z).
- Містить хоча б одну цифру (0-9).
- Має довжину не менше 8 символів.
- Містить хоча б один спеціальний символ з набору
!@#$%^&*()
. - Не містить пробілів.
Функція повинна повертати True
, якщо пароль проходить усі перевірки, інакше — False
.
Приклад:
>>> validate_password("StrongPass1!")
True
>>> validate_password("weakpass")
False
>>> validate_password("Short7!")
False
>>> validate_password("With Space1!")
False
>>> validate_password("NoSpecialChar1")
False
Підказки до реалізації
- Для кожного правила створіть окрему функцію, що приймає
password: str
і повертаєbool
. Функції повинні мати назви:has_uppercase
has_digit
is_long_enough
has_special_char
no_spaces
- Створіть список правил типу
list[Callable[[str], bool]]
. - Для перевірки всіх правил використайте вбудовану функцію
all(...)
. - Для правил "містить хоча б одну" можна використовувати вбудовану функцію
any(...)
. - Можна використовувати методи
str.isupper()
,str.isdigit()
.