Описание проекта

Этот проект реализует структуру данных для работы с атомарными значениями и парами значений, используя абстрактный базовый класс. Он позволяет парсить строковые представления чисел и их комбинаций, выводить их на экран, вычислять сумму всех атомов, среднее значение и минимальное/максимальное отклонение от среднего.

▎Структура проекта

▎Классы

• Value (абстрактный класс): Определяет интерфейс для всех значений. Содержит абстрактные методы:

  • out(): выводит значение.

  • sum(): возвращает сумму атомов.

  • all(): возвращает список всех атомов.

  • parse(string: str): статический метод для парсинга строки в значение.

• Atom: Наследует от класса Value и представляет собой атомарное значение (число). Реализует методы out(), sum() и all().

• Pair: Наследует от класса Value и представляет собой пару значений. Реализует методы out(), sum() и all().

▎Функции

• average(value): Вычисляет среднее значение всех атомов в переданном значении.

• getDeviation(value): Вычисляет минимальное и максимальное отклонение атомов от среднего значения.

• run(string): Парсит строку, выводит распарсенное значение, вычисляет сумму, среднее значение и отклонения.

• main(): Основная функция, которая выполняет тесты с различными строками ввода.

▎Использование

1. Убедитесь, что у вас установлен Python 3.x.

2. Скопируйте файл.

3. Запустите файл с помощью команды: python main.py

▎Лицензия

Этот проект лицензирован на условиях MIT License. Подробнее см. файл LICENSE.