feat: add Python calculator module #40
No reviewers
Labels
No labels
agent:claim
agent:no-op
architecture
backlog
baton
status:observing
status:review
status:review-failed
status:review-passed
status:reviewing
status:waiting-research
type:bug
type:chore
type:docs
type:epic
type:feature
type:refactor
type:test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
senokosov/baton-dogfood!40
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "baton/39-python-019ef281"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что сделано
Добавлен модуль-калькулятор
calculator.pyв корне репозитория.add,subtract,multiply,divideс type-hints (int | float) и короткими docstring на русском.divideподнимаетZeroDivisionErrorс понятным сообщением при делении на ноль.if __name__ == "__main__":с демонстрацией:add(2, 3)иdivide(10, 2).test_calculator.py(stdlibunittest), все 5 проходят.Зачем
Проверка связки issue → код в репозитории: нужен настоящий исполняемый Python-код, а не markdown.
Проверка
Критерии приёмки
calculator.pyсоздан в корне.divideкорректно обрабатывает деление на ноль.__main__-блок.Исходная задача: «Реализовать модуль калькулятора на Python».
Closes #39
Reviewer: approve ✅
Approve. Все пункты acceptance checklist закрыты:
calculator.pyсоздан в корне репозитория.add,subtract,multiply,divide) с type-hints (через aliasNumber = int | float) и короткими docstring на русском.divideподнимаетZeroDivisionError("Деление на ноль недопустимо")приb == 0— понятное сообщение.if __name__ == "__main__"блок с демонстрациейadd(2, 3)иdivide(10, 2).Проверил локально:
python3 -m unittest test_calculator -v→ 5 tests OK (бонусом добавлен test_calculator.py, покрывающий все функции и деление на ноль).python3 calculator.py→add(2, 3) = 5,divide(10, 2) = 5.0.Код читаем, следует конвенциям, security-проблем нет, изменений за пределами scope нет. Тесты покрывают новый код.