https://github.com/stormozov/py-stack-project
https://github.com/stormozov/py-stack-project
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/stormozov/py-stack-project
- Owner: stormozov
- Created: 2024-09-07T12:42:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-09T17:01:29.000Z (over 1 year ago)
- Last Synced: 2025-03-24T09:51:09.963Z (9 months ago)
- Language: Python
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Реализация класса Stack
**Py-Stack** — это пример реализации стека на языке программирования
Python.
## Установка
Для установки проекта выполните следующие шаги:
- Клонируйте репозиторий с помощью команды:
Для HTTPS:
```
git clone https://github.com/stormozov/py-stack-project.git
```
Для SSH:
```
git clone git@github.com:stormozov/py-stack-project.git
```
- Перейдите в папку с проектом с помощью команды `cd py-stack-project`
## Использование
Стек реализован в модуле `main.py`. Вы можете использовать его, импортировав
класс Stack и создавая экземпляр стека.
Пример использования:
```python
from stack import Stack # Импортирует модуль Stack
my_stack = Stack() # Создает экземпляр стека
my_stack.push(1) # Вставляет цифру 1 в стек
my_stack.push(2) # Вставляет цифру 2 в стек
print(my_stack.pop()) # Выведет 2
print(my_stack.pop()) # Выведет 1
```
## Проверка сбалансированности скобок
Класс `Stack` предоставляет метод `is_balanced_brackets` для проверки сбалансированности скобок в заданной строке. Этот метод принимает строку скобок в качестве входных данных и возвращает строку, указывающую, сбалансированы ли скобки или нет.
### Принцип работы
Метод `is_balanced_brackets` использует словарь для сопоставления закрывающих скобок с соответствующими открывающими скобками. Затем он итерируется по входной строке, помещая открывающие скобки в стек и извлекая их, когда встречает соответствующую закрывающую скобку. Если он встречает закрывающую скобку, не соответствующую вершине стека, или если в стеке остались скобки в конце строки, он возвращает сообщение, указывающее, что скобки не сбалансированы.
### Пример использования
Вы можете использовать метод `is_balanced_brackets` следующим образом:
```python
from stack import Stack # Импортирует модуль Stack
stack = Stack()
print(stack.is_balanced_brackets("(((([{}]))))")) # Вывод: Сбалансированно
print(stack.is_balanced_brackets("}{}")) # Вывод: Несбалансированно
```
## Тесты
Тесты для стека находятся в файле `test_stack.py` и `test_brackets.py`
директории `tests`.
Вы можете запустить их с помощью команды:
```
python -m unittest test_stack
```
Или вы можете запустить их в IDE, например PyCharm.
## Автор
Автор проекта - stormozov