black_list = list('БГДЁЖЗИЙЛПФЦЧШЩЪЫЬЭЮЯ') - это список отдельных символов, а не строк. Если вы хотите создать список строк, содержащих эти символы, вам нужно использовать black_list = ['Б', 'Г', 'Д', ...].
if a in set(black_list): - это проверка, является ли вводимый символ (a) элементом списка black_list. Однако, в вашем коде a - это строка, а не символ. Поэтому эта проверка всегда будет возвращать False.
Внутри условия if a in set(black_list): вы проверяете различные части строки a на соответствие определенным условиям (например, a[0:1].isalpha()). Однако, если a не содержит символов из black_list, то эти проверки никогда не будут выполнены.
black_list = ['Б', 'Г', 'Д', ...] # список строк, содержащих запрещенные символы
a = input()
if any(c in black_list for c in a): # проверяем, содержит ли строка a хотя бы один символ из black_list
print('NO')
else:
# здесь можно добавить дополнительные проверки для строки a
if a[0].isalpha() and a[1:4].isdigit() and a[4:6].isalpha() and a[7:].isdigit():
print('YES')
else:
print('NO')
пробовал но там на оборот, всем да
для примера
А123ВС_45 - YES
АЯ123В_45 - NO