# Common mistakes in computing an average (part 296e)

Разберём решение и подводные камни — их обычно не видно в готовом коде из учебника.

## Задача

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

## Решение

```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 значениях, прежде чем считать задачу решённой.

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

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

[list[float](https://pinewood9897.bearblog.dev/) · [выбрасывается](https://blog.spikyhair.club/oz26ddad/yu-shuang-ai) · [Строки](https://claraleroy498.overblog.fr/2026/10/bokep-ibu-ibu-stw-indonesia.html) · [арифметическое](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-fc2024.pdf) · [ValueError("пустой](https://radicle.network/nodes/seed.pipapo.org/rad%3AzmEbNoU6YBm2F91oiy7bcAwbYiYh/issues/5cfd66b124c3afa375082db11aab8a8a8d2cc26b) · [обычно](https://statics.pancake.vn/web-media-264/b7/c3/2e/60/d0d6e521ddccf528b8434ff5a00d5e105b447d31bf5cb813c972eb24.pdf) · [багов](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [списка](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sataen-e5b6a3.pdf) · [элементов](https://writefreely.ethibox.fr/oze999ae/naimei0727-natural-big-breasts-and-peach-butt-amateur-gallery) · [ошибок](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-da7ba1.pdf) · [ошибка](https://news-ctl-posts.hashnode.dev/two-approaches-to-binary-search-part-3dda) · [прежде](https://sway.cloud.microsoft/uaXC4BfQBF6xm6LP) · [рождается](https://discuss.tchncs.de/post/65445717) · [return](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/silkc-081-c58a38.pdf) · [Задача](https://yakihonne.com/article/naddr1qvzqqqr4gupzpgkkq3paar2d8659n0h7jmf5zv6zavdj0cm9w0gqnn70f762txeuqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknxv35xsex2vej95ex2dr9956xvdp595unqvpk95crgdtpvcunqdn9xucrj3paqs3) · [Сложность](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/jessycax-484f78.pdf) · [ломается](https://paper.wf/irena1976log/alexandra-zubko-nude-hot-selfies-and-sexy-porn-images) · [float](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/brackets-razbor-mvb9gick.md) · [приведение](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [равно](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g)

