# Two ways to solve computing an average (part e802)

Покажу решение и коротко сравню его с альтернативным подходом.

## Задача

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

## Решение

```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) по памяти.


## Альтернативный подход

Ту же задачу часто решают иначе: например, через рекурсию вместо цикла или через стандартную библиотеку вместо ручной реализации. Альтернатива обычно короче, но первое «ручное» решение лучше показывает механику работы алгоритма. Полезно написать оба и сравнить на одинаковых тестах.

Выбор между решениями — это баланс читаемости и скорости: для учебной задачи важнее первый.

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

[list[float](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/starsessions-leyla-b6f4cb.pdf) · [среднее](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [сравню](https://rentry.co/fidan-atalay-onlyfans-507386) · [обрабатывается](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-267250.pdf) · [списка](https://radicle.network/nodes/index.radicle.garden/rad%3Az2CqebAs9T8feWKoXf6Qe6QBmbg7e/issues/6e451a1d2315b64bec339506f6fea8c5e48d8573) · [скорости](https://news-ctl-posts.hashnode.dev/exploring-binary-search-part-0d19) · [ручной](https://paste2.org/nXwE1A9H) · [стандартную](https://drop.xtrafrancyz.net/selif/t1ufg14ikn.pdf) · [среднего](https://kappa.lol/0ULExX) · [одинаковых](https://rentry.co/reels-plans-656192) · [sum(arr](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/bursa-orhangazi-escort-e9104f.pdf) · [задачу](https://paper.wf/lena1996log/loibus) · [ручное](https://leahfournier806.overblog.fr/2026/10/gals-o-gurk-videos.html) · [деление](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [работает](https://articlescad.com/nude-juniors-beach-bikini-contest-photos-young-swimwear-gallery-385290.html) · [return](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sana-f7dea6.pdf) · [Сумма](https://rentry.co/liinaliiis-286186) · [библиотеку](https://unbrick.id/duygu+dokuyucu+if%C5%9Fa?f=instapaper) · [Альтернатива](https://leahleroy990.overblog.fr/2026/10/post-47.html) · [Выбор](https://bc-pto.zp.ua/sks+%60rby+kmlh?f=linkcentre) · [памяти](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg)

