Как оценивать сложность пользовательского пароля?
Программа запрашивает пользовательский пароль и записывает в переменную password.
Необходимо посчитать сложность пароля, где за каждую пройденную проверку пароль получает +1 балл до итоговой оценки, максимальное количество баллов – 5
Проверки:
- Длина пароля больше или равна 8 символам.
- В пароле есть хотя бы одна цифра
- В пароле есть хотя бы одна заглавная буква
- В пароле есть хотя бы одна строчная буква
- В пароле есть хотя бы один специальный символ
+, -, /, _, % и т.д.
(их на самом деле больше)
После всех проверок нужно вывести пользователю количество баллов за пароль, а также рекомендации по улучшению пароля.
Частично задачу решил. Не могу решить вопрос с оценкой от 1 до 5
password = input('Введите пароль: ')
is_numeric = False
is_upper = False
is_lower = False
is_spec = False
if len(password) < 8:
print('Минимальное количество символов 8')
exit()
for char in password:
if char.islower():
is_lower = True
if not is_lower:
print("добавить маленькую букву")
for char in password:
if char.isupper():
is_upper = True
if not is_upper:
print("добавить большую букву")
for char in password:
if char in "@#%&()$*?:;№!<>./,":
is_spec = True
if not is_spec:
print("добавить спецсимвол")
for char in password:
if char.isdigit():
is_numeric = True
if not is_numeric:
print("добавить цифру")
exit()