Def validate_password(password):
Функция принимает пароль строкой
и выполняет валидацию с помощью трёх.
вспомогательных функций:
1. Содержит только a-z, A-Z, 0-9
2. Содержит четное количество
букв
3. Содержит нечетное количество
цифр
Основная функция возвращает True,
если пароль валидный.
Если пароль не валидный,
возвращает лист стрингов, в которых
перечислены
причины неуспешной проверки.
Например: ["содержит запрещенные
символы"]
pass
Даю 100 баллов




Ответы
Ответ:
import re
password = []
def validate_password(password):
input_str = input('Введите пароль: ')
def _validate_symbols(input_str):
return input_str.isalnum()
_validate_symbols(input_str)
if _validate_symbols(input_str) == True:
pass
else:
password.append('содержит запрещенные символы')
def _validate_letters_even(input_str):
count_letter = (len(re.sub('[^a-zA-Z]+', '', input_str)))
if count_letter != 0 and count_letter % 2 == 0:
return True
else:
password.append('не содержит четного кол-ва букв')
return False
_validate_letters_even(input_str)
def _validate_numbers_odd(input_str):
count_digits = sum([ 1 for s in input_str if s.isdigit() ])
if count_digits != 0 and count_digits % 2 == 0:
return True
else:
password.append('не содержит четного количества цифр')
return False
_validate_numbers_odd(input_str)
if len(password) == 0:
return True
else:
print(password)
return password
validate_password(password)
Объяснение:
если есть вопросы пиши, функции сам только начал изучать, чуть голова не лопнула)) В конце validate_password(password) можно воткнуть в print() чтобы увидеть что дейтвительно возращает True