Почему не работает такой код, несколько if?

gos = 'АЯ123В_45' # проверка госномера
simbol = 'АВЕКМНОРСТУХ'
if len(gos) == 9 or len(gos) == 10: # проверка на длинну симовол 
    if gos[0] in simbol: # если перавая буква есть в переменной  'simbol'
        if gos[1:4].isdigit(): # если первый, второй, третий символ цифра
            if gos[4] in simbol:
                if gos[5] in simbol:
                    if gos[6:].isdigit():
                        print('YES')
else:
    print('NO')

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

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

Условия можно сократить и объединить через and:

gos = 'АЯ123В_45' # проверка госномера
simbol = set('АВЕКМНОРСТУХ')
if (len(gos) in (9, 10) and
   set(gos[:1]+gos[4:6]).issubset(simbol) and
   gos[1:4].isdigit() and
   gos[6:].isdigit()):
    print('YES')
else:
    print('NO')
→ Ссылка