Превышен лимит исполнения программы

Написал программу для такой задачи: есть скобочная последовательность из скобок разных типов, количество типов не ограничено. Открывающая скобка i-го типа обозначается как [(i, закрывающая – как ])i, типы нумеруются с 1. Нужно проверять инпут на правильную последовательность скобок. Но это не так важно. Почему-то после ввода последовательности программа не запускается и бесконечно грузится. Что тут может быть не так?

    s = input()
    stack = []
    c = 0
    while c < len(s)-1:
       tally = 0
       if s[c] == '[':
           c+=1
    while c != len(s) and s[c] == '(':
       tally, c = tally+1, c+1
       stack.append(tally)
       if s[c] == ']':
         c+=1
       elif len(stack) == 0:
         stack.append('d')
         break
    while c != len(s) and s[c] == ')':
       tally, c = tally+1, c+1
       if tally != stack[-1]:
          break
          stack.pop()
       else:
          break
  
    if len(stack) == 0:
        print("YES")
    else:
        print("NO")




 

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