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('(((())))'))