31. Проверка пароля на надежность.

(открыть в новой вкладке)

Условие:

В данном упражнении вам необходимо написать функцию, проверяющую введенный пароль на надежность.
Определим как надежный пароль, состоящий минимум из восьми символов и включающий хотя бы по одной букве в верхнем и нижнем регистрах и как минимум одну цифру.

Код:

def my_5(password):                                                                     # проверка на наличие букв в верхнем регистре
    result = "ненадёжный"
    for i in password:
        if "A" <= i <= "Z":
            result = "надёжный"
    return result


def my_4(password):                                                                     # проверка на наличие букв в нижнем регистре
    result = "ненадёжный"
    for i in password:
        if "a" <= i <= "z":
            result = "надёжный"
    if result == "ненадёжный":
        return result
    elif result == "надёжный":        
        return my_5(password)


def my_3(password):                                                                     # проверка на наличие букв в пароле
    result = "ненадёжный"
    for i in password:
        if i.isdigit() == False:
            result = "надёжный"
    if result == "ненадёжный":
        return result
    elif result == "надёжный":        
        return my_4(password)
    

def my_2(password):                                                                     # проверка на наличие цифр в пароле
    result = "ненадёжный"
    for i in password:
        if i.isdigit() == True:
            result = "надёжный"
    if result == "ненадёжный":
        return result
    elif result == "надёжный":        
        return my_3(password)
    

def my(password):                                                                       # проверка на длину пароля
    good_len = 8
    test = "надёжный" if len(password) >= good_len else "ненадёжный"   
    if test == "ненадёжный":
        return test
    elif test == "надёжный":        
        return my_2(password)


while True:
    password = input("%50s" % "Введите ваш пароль: ")
    rus_alphabet = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
    test = True
    for i in password:
        if i in rus_alphabet or i in rus_alphabet.upper():
            test = False        
    if test:
        break
    else:
        print("%49s" % "Вы ввели пароль на русском языке.")
        print()

print("%49s" % "Ваш пароль:", my(password))