feat: add median(values) to calculator #58

Merged
baton-bot merged 1 commit from baton/task-0b58fe13 into main 2026-10-29 23:17:17 +07:00
Collaborator

Что сделано

  • В calculator.py добавлена median(values: list[Number]) -> float: сортирует копию списка, для нечётной длины возвращает центральный элемент, для чётной — среднее двух центральных. Для пустого списка бросает ValueError("Нельзя вычислить медиану пустого списка").
  • В test_calculator.py добавлены тесты: нечётная длина, чётная длина, неотсортированный вход, пустой список.

Проверки

python -m unittest — 18 тестов, все проходят.

Исходная задача: «Добавить функцию median в калькулятор» (ветка baton/task-0b58fe13).

🤖 Generated with Claude Code

Closes #57

## Что сделано - В `calculator.py` добавлена `median(values: list[Number]) -> float`: сортирует копию списка, для нечётной длины возвращает центральный элемент, для чётной — среднее двух центральных. Для пустого списка бросает `ValueError("Нельзя вычислить медиану пустого списка")`. - В `test_calculator.py` добавлены тесты: нечётная длина, чётная длина, неотсортированный вход, пустой список. ## Проверки `python -m unittest` — 18 тестов, все проходят. Исходная задача: «Добавить функцию median в калькулятор» (ветка `baton/task-0b58fe13`). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Closes #57
feat: add median(values) to calculator
All checks were successful
acceptance/all-checked Acceptance #57: все пункты отмечены
Acceptance Gate / acceptance/all-checked (pull_request) Successful in 2s
ci / check (pull_request) Successful in 4s
ci / check (push) Successful in 4s
cd2a8a6755
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Collaborator

Ревью пройдено — изменения одобрены.

Проверил diff (calculator.py, test_calculator.py). median корректно обрабатывает нечётную и чётную длину, не мутирует вход (sorted), для пустого списка бросает ValueError с русским сообщением. Тесты покрывают все требуемые случаи: нечётная, чётная, неотсортированный вход, пустой список. unittest: 18 тестов, все OK. Лишних изменений нет.

**Ревью пройдено — изменения одобрены.** Проверил diff (calculator.py, test_calculator.py). median корректно обрабатывает нечётную и чётную длину, не мутирует вход (sorted), для пустого списка бросает ValueError с русским сообщением. Тесты покрывают все требуемые случаи: нечётная, чётная, неотсортированный вход, пустой список. unittest: 18 тестов, все OK. Лишних изменений нет. <!-- baton:idempotency-key:review-verdict:01a18873-0acd-7478-96a1-ace30b58fe13:01a18873-697f-7c40-b81d-49d40f156785:approve -->
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
senokosov/baton-dogfood!58
No description provided.