# Pitfalls of computing an average

Каждая учебная задача таит пару-тройку грабель; вот они.

## Задача

Найти среднее арифметическое списка чисел и разобрать, что делать с пустым списком.

## Решение

```python
def average(arr: list[float]) -> float:
    if not arr:
        raise ValueError("пустой список не имеет среднего")
    return sum(arr) / len(arr)


print(average([2, 4, 6, 8]))
```

## Как это работает

Сумма элементов делится на их количество. Отдельно обрабатывается пустой список: деление на ноль недопустимо, поэтому выбрасывается понятная ошибка.

## Пример работы

```text
5.0
```

## Сложность

O(n) по времени, O(1) по памяти.


## Частые ошибки

1. **Не обрабатывать крайние случаи.** Пустой ввод, ноль, отрицательные числа — именно там решение чаще всего ломается.
2. **Смешивать типы данных.** Строки и числа ведут себя по-разному; неявное приведение типов — источник неочевидных багов.
3. **Писать код без проверки на маленьких примерах.** Прогоните решение вручную на 2-3 значениях, прежде чем считать задачу решённой.

Если решение заработало с первого раза — всё равно сверьтесь со списком ошибок: половина багов рождается при доработках.

**Читайте также:**

[решённой](https://discuss.tchncs.de/post/65441549) · [примерах](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/julio-jose-ipcam-1155a1.pdf) · [Писать](https://statics.pancake.vn/web-media-264/f1/e0/49/37/a57989131e18ad2fbe1ae91c79d6a16179ae0a6f483de9114f858a9c.pdf) · [Смешивать](https://ecency.com/@jirisvoboda1887/fadsex1-d0d57d) · [сверьтесь](https://kappa.lol/Jelmsw) · [доработках](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/diathorn-art-b6581b.pdf) · [Решение](https://kappa.lol/yvN9S9) · [return](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [Отдельно](https://discuss.tchncs.de/post/65444058) · [числа](https://radicle.network/nodes/index.radicle.garden/rad%3Az3EwJ5rAkbVs2xnsSsD22NiUkG13h/issues/f7249b98c387a6ce35333e31eb1433f075001004) · [элементов](https://discuss.tchncs.de/post/65443402) · [average(arr](https://privatebin.devol.it/?2cb85bbd40d11a76#Akxb8UTdPdemg63uJS43MjxcpNzAxMeB7LH1WpKfK1c8) · [ошибка](https://privatebin.devol.it/?a3c404f4347e85ea#DcqPqdNKf55EnqVCLzf3zZbdDHHtfKJ8sQv5WrqCFuB4) · [пустой](https://hey.xyz/posts/3sb951w5ej6yayf74m1) · [арифметическое](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/hannahansku-16a173.pdf) · [крайние](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/fairybaby-09-a61a42.pdf) · [по-разному](https://ecency.com/@lukassvobod8179/g-zde-akg-n-porn-1a808c) · [всего](https://paper.wf/maria1998log/tommi-ortega) · [типов](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ariwixyy-ccfd88.pdf) · [выбрасывается](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [рождается](https://sergeysmith0.wixsite.com/my-site-1/post/lila-brookstone-xxx-exclusive-nude-pics-videos) · [среднее](https://hey.xyz/posts/28qhkebx2901mv6gcjj) · [print(average([2](https://saminupss.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-06c1e0.pdf) · [решение](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sierra-cabot-tits-537165.pdf) · [считать](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [задача](https://lindbergmark21.wixsite.com/my-site-1/post/burcin-erol) · [обрабатывать](https://drop.xtrafrancyz.net/selif/fhdrx1a75h.pdf) · [проверки](https://hey.xyz/posts/qpbnhwhsqrjtz966cw)

