Metadata-Version: 2.1
Name: logprog_lab1
Version: 1.2.2
Summary: logprog_lab1
Home-page: https://github.com/tesllaaa/logprog_lab1
Author: regina_mikhailova
Author-email: riga157@mail.ru
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# logprog-lab1

**logprog-lab1** — это модуль для работы с вложенными структурами данных, состоящими из объектов `Atom` и `Pair`. Модуль предоставляет функционал для вычисления суммы, среднего значения и отклонений числовых данных, хранящихся в структуре.

## Возможности

- **Разбор иерархических структур**: Преобразование строкового представления вложенных значений в дерево объектов типа `Value`.
- **Поддержка атомарных и составных значений**:
  - `Atom`: представляет одно числовое значение.
  - `Pair`: представляет пару значений, каждое из которых может быть `Atom` или `Pair`.
- **Вывод структуры**: Удобное текстовое представление структуры через метод `out`.
- **Анализ значений**:
  - Вычисление суммы всех чисел в структуре (`sum`).
  - Получение списка всех чисел (`all`).
  - Вычисление среднего значения (`average`).
  - Нахождение минимального и максимального отклонения от среднего значения (`getDeviation`).
  

## Установка

Установите модуль с помощью `pip`:

```bash
pip install logprog-lab1
```

## Пример использования

```python
from logprog_lab1 import Value, Atom, Pair, average, getDeviation

# Пример строки для разбора
val = Value.parse("(1, (2, (3, 4)))")

if val:
    # Вывод дерева
    val.out()  # (1, (2, (3, 4)))

    # Сумма всех чисел
    print("\nСумма:", val.sum())  # Сумма: 10

    # Среднее значение
    print("Среднее:", average(val))  # Среднее: 2.5

    # Минимальное и максимальное отклонение от среднего
    min_dev, max_dev = getDeviation(val)
    print("Отклонения:", min_dev, max_dev)  # Отклонения: 0.5 1.5
