Калькулятор (Python CLI)

Лёгкий интерактивный калькулятор на чистом Python — без внешних зависимостей.

Возможности

  • Операции: + - * / и скобки ()
  • Приоритет операций (скобки меняют порядок)
  • Унарный минус/плюс: -5, +3
  • Проценты: 50 % → 0.5
  • Возведение в степень: 2 ** 10
  • Деление на ноль обрабатывается красиво (без падения с exception)

Структура

Файл Назначение
calculator.py Парсер и вычислитель выражений
cli.py Интераквная точка входа
test_calculator.py Unit-тесты (pytest / unittest)
README.md Это

Запуск

Калькулятор работает на Python 3.10+ (без установки пакетов).

Интерактивный режим

python cli.py

После запуска вводите выражение, построчно:

$ python cli.py
Калькулятор. Введите выражение, 'выход'/'exit' — для завершения.
2 + 3 * (4 - 1) % 100
6
выход
Пока!

Пакетный режим (аргументы строки выражений)

python cli.py "2 + 2" "(2 + 3) * 4" "1 / 0" "2 ** 10"
4
20
Ошибка: Деление на ноль
1024

Выход из цикла

выход или exit (регистронезависимо, допускаются пробелы вокруг).

Тесты

# через pytest (рекомендуется)
python -m pytest test_calculator.py -v

# через stdlib unittest
python -m unittest test_calculator -v

Тесты покрывают:

  • базовые операции и отрицательные числа;
  • приоритет операций и скобки (в т.ч. вложенные);
  • проценты;
  • деление на ноль (raise + сообщение);
  • синтаксические ошибки;
  • правоассоциативность степени;
  • команды выхода.
S
Description
Self-hosted project
Readme
121 KiB
0 Stars 1 Watchers 0 Forks