Python 3.8: требуется 2-я буква в качестве значения в верхнем регистре в пароле

Я должен попросить пользователя ввести пароль, который соответствует определенным требованиям, например:

  • минимум 8 длинных
  • содержать не менее одного числа;
  • иметь хотя бы одну заглавную букву;

Первые три требования я решил, но я не могу найти решение для:

  • вторая буква должна быть заглавной;

Что должно быть в алгоритме, который проверяет правильность введенного значения?

Я предполагаю, что string.upper() не поможет мне в этом случае, потому что мне нужно запросить у пользователя правильное входное значение, а не преобразовывать существующее.

С уважением, Дж.


person JuliusC    schedule 04.02.2020    source источник


Ответы (1)


Вы можете использовать функцию .isupper(), чтобы проверить, является ли символ прописным.

string = "aBcdef"

if string[1].isupper():
    # second letter is uppercase

В вашем случае я был бы осторожен, поскольку вы также запрашиваете число в пароле. Вы должны убедиться, что второй символ не является числом, когда вы проверяете его на прописные буквы, потому что он вернет false.

person gmdev    schedule 04.02.2020