Я написал следующий код, чтобы проверить, если входные функции содержит сбалансированные скобки:Функция, которая проверяет, является ли скобки сбалансированы в питона
def balanced_brackets(text):
brackets = [ ('(',')'), ('[',']'), ('{','}'),('<','>')]
s = 0
e = 1
st = Stack()
for i in text:
for pair in brackets:
if i == pair[s]:
st.push(i)
elif i == pair[e] and not st.isEmpty() and st.pop() != pair[s]:
return False
if st.isEmpty():
return True
else:
return False
Этот код работает для ввода, такие как «() (())(), но это не удалось, когда я попробовал его для «zn() ((b)()) q())() l() d (r) '. Может ли кто-нибудь помочь мне определить, в чем проблема? Благодарю.
@wickstopher И функция возвращает True вместо False, поскольку она не сбалансирована. – ASm