I

it-2023

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

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