Проверка введенных символов python

Всем доброго дня. Подскажите пожалуйста, как можно проверить введенные символы в input ? Нужно что бы соответствовали требованиям, к примеру первая буква была бы заглавной, в слове были спец.символы такие как #$%_)( и цифры и что бы последняя буква тоже была с условием либо цифрой.


Ответы (2 шт):

Автор решения: nomnoms12

Можете воспользоваться регулярными выражениями.

[A-Z][A-Za-z0-9#$%_)(]+[A-Z0-9#$%_)(]:

  • Первый символ — заглавная буква
  • В середине строки могут быть заглавные и строчные буквы, цифры и символы #$%_)(
  • Последний символ — заглавная буква или #$%_)(

Пример:

import re


if re.fullmatch(r'[A-Z][A-Za-z0-9#$%_)(]+[A-Z0-9#$%_)(]', input()):
    print('Соответствует требованиям')
→ Ссылка
Автор решения: nomnoms12

По запросам из комментариев.

Можно вручную проверять наличие определённых символов с помощью срезов.

s[0] — первый символ.
s[1:-1] — середина строки.
s[-1] — последний символ.

import string


s = 'Str()nG'

# Количество символов от 15 до 25
flag_len = False
if 14 < len(s) < 26:
    flag_len = True

# Первый символ — заглавная буква
flag_start = False
if s[0] in string.ascii_uppercase:
    flag_start = True

# В середине строки могут быть заглавные и строчные буквы, цифры и символы #$%_)(
flag_mid = True
for x in s[1:-1]:
    if x not in string.ascii_letters + string.digits + '#$%_)(':
        flag_mid = False
        break

# Последний символ — заглавная буква или #$%_)(
flag_end = False
if s[-1] in string.ascii_uppercase + '#$%_)(':
    flag_end = True

if flag_len and flag_start and flag_mid and flag_end:
    print('Соответствует требованиям')
→ Ссылка