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