Как проверить строку на наличие недопустимых символов?

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

s = input('Введите строку: ')

print('Исходная строка: ', s)

t = list(('qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMйцукенгшщзхъфывапролджэячсмитьбюёЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ_'))

if s[0] in set(t):
    print('Первый символ - нет недопустимых символов.')


else:
    print('Недопустимый(-e) символ(-ы).')

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

Автор решения: Павел

В Python для проверки того, есть ли значение или элемент в последовательности используется оператор in, в случае же если необходимо хотя бы одно совпадение из целой структуры данных можно воспользоваться оператором any, тогда если обобщить, то имеем такой алгоритм:

inp_string = input('Введите строку: ')

print('Исходная строка: ', inp_string)

blacklist = list('АБВГД')

print(any(i in blacklist for i in inp_string))

Тесты

Исходная строка:  ЕЕВЕЕ
True

Исходная строка:  ЕЕЕТ
False
→ Ссылка