Какие правила существуют при присвоении логического значения в Python? - PullRequest
0 голосов
/ 10 апреля 2020

Я написал программу, которая будет определять, является ли пароль надежным (имеет 10+ букв, 1+ заглавных букв и цифр), и если нет, он запросит более надежный пароль. Для этого я решил использовать логическое значение, но IDLE сообщает, что синтаксис неверен, и выделяет мои логические имена. Это проблема с именем или есть что-то, что я должен исправить /

        def length(long):
    while len(long) < 10: 
        print("Please make your password longer, up to at least 10 characters.")
        print("Your password is only " + str(len(long)) + " characters long")

print("Welcome to this student interface")
username = input("Please enter a username")
password = input("Please enter a strong password")
length(password)

bool Capcheck = False
bool DigCheck  = False

serrors = []

while CapCheck = False or CapCheck = False:
    length(password)

    if not any(x.isupper() for x in password):
        serrors.append("Your password needs at least 1 capital.")
    else:
        CapCheck = True
        break

    if not any(x.islower() for x in password):
        serrors.append("......... Why?")

    if not any(x.isdigit() for x in password):
        serrors.append("You need to have at least 1 digit")
    else:
        DigCheck = True
        break

    if serrors:
        print(" ".join(serrors))
        password = input("Please enter a stronger password")

1 Ответ

1 голос
/ 10 апреля 2020

Ваш синтаксис неправильный:

bool Capcheck = False

следует заменить на

Capcheck: bool = False

см. Python подсказки типа

...