from collections import deque
Реализуем стек с помощью класс deque изи библиотеки collections
В этой строке укажите кто автор. Например: Дьяконов Е.Н.
class Stack: def init(self): self.stack = deque() # используем колоду или двусторонняя очередь
def pop(self):
"""Метод удаляющий верхний элимент. Стек изменяется. Метод возвращает верхний элимент стека"""
if len(self.stack) == 0:
return None
return self.stack.pop()
def push(self, item):
"""Метод добавляющий элимент на верншину стека. Метод ничего не возвращает"""
self.stack.append(item)
def isEmpty(self):
"""Метод проверки стека на пустоту. Должен возращать True или False"""
if len(self.stack) == 0:
return True
elif len(self.stack) > 0:
return False
def peek(self):
"""Метод возращает верхний элимент стека, но не удаляет его. Стек не меняется"""
if len(self.stack) == 0:
return None
element = self.stack[-1]
return element
def check_stack(text): stack = Stack() for i in range(0,len(text)): if text[i] in "({[": stack.push(text[i]) if text[i] in "})]": s = stack.pop() if (text[i]== ")" and s=="("): pass else: return False break; if stack.isEmpty(): return True
print(check_stack('(((())))'))