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

Даю 100 баллов

Приложения:

valeron9814: не простое задание) щас попытаемся

Ответы

Ответ дал: valeron9814
5

Ответ:

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

Вас заинтересует