I

it-2024

Категория проекта: Ожидает модерации

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