mscalc (1.0)

Published 2024-10-12 20:57:29 +07:00 by ci

Installation

pip install --index-url  mscalc

About this package

Console calculator

КАЛЬКУЛЯТОР

Консольный калькулятор простых арифметических выражений.

Требования

  1. Язык программирования - Python.
  2. Интерфейс программы - командная строка.
  3. Программа принимает на вход (читает строку из стандартного потока ввода) числа (операнды) и арифметические операции (+, -, *, /).
  4. Результатом выполнения задачи является вывод (в стандартный поток вывода) результата вычисления арифметического выражения.

Контрольные примеры

  1. 2 + 2 = 4
  2. 5 - 3 = 2
  3. 7 * 8 = 56
  4. 56 / 8 = 7
  5. (3 + 4) * 8 = 56
  6. 64 / (2 * 4) = 8

Решение

Предлагается следующая концепция решения задачи:

  1. Лексический анализатор принимает на вход строку с выражением и разбивает его на лексемы. Процесс может завершиться аварийно с выдачей соответствующей диагностикой об ошибке синтаксиса.
  2. Синтаксический анализатор принимает на вход поток лексем и строит из них двоичное синтаксическое дерево. Процесс может завершиться аварийно с выдачей соответствующей диагностикой об ошибке синтаксиса.
  3. Вычислитель проходит по синтаксическому дереву и вычисляет значение выражения. Процесс может завершиться аварийно с выдачей соответствующей диагностикой об ошибке вычисления (например - деление на ноль).

Тестирование

Зависимости проекта могут быть установлены командой:

pip install -U -e .[dev]

Для запуска тестов следует выполнить команду:

make test

Для получения отчёта о покрытии кода проекта тестами в формате HTML нужно запустить команду:

EXPORT_RESULT=true make coverage

После успешного выполнения в папке out/coverage будут находиться файлы отчёта о покрытии кода проекта тестами в формате HTML с индексом в файле index.html.

Сборка дистрибутива

Для сборки пакета Debian/Ubuntu необходимо установить пакеты python3-all, dh-python, debhelper. Собрать пакет Debian можно командой:

make dist-deb

После успешного выполнения команды в папке out/deb будут пакеты Debian.

Для сборки пакета Wheel необходимо запустить команду:

make dist-wheel

После успешного выполнения команды в папке out/dist будет пакет Wheel.

Для сборки всех возможных пакетов необходимо выполнить команду:

make dist

Requirements

Requires Python: >=3.5
Details
PyPI
2024-10-12 20:57:29 +07:00
2
Aleksei Badiaev
MIT
18 KiB
Assets (1)
Versions (1) View all
1.0 2024-10-12