# Two ways to solve computing an average (part 9f86)

У большинства учебных задач есть минимум два честных решения — сравним их.

## Задача

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

## Решение

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


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

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

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

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

[решение](https://hey.xyz/posts/3a8cs9rz53nzvze7abt) · [сравним](https://rimworld.gallery/m/random/t/16312) · [алгоритма](https://blog.spikyhair.club/oz0301bc/zviozdochka-porno-golye-amerikanskie-zviozdy-i-aktrisy) · [average(arr](https://yakihonne.com/article/naddr1qvzqqqr4gupzpn7aywjyhpxuj7wzz5qqpx26uges5q7jf2t5nx5yw3l7yuw8yjvuqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknsefhxq6rzerz943r2vfj956x2cfn943r2vf395urvdf5x3nryen9vfsky7kf2sh) · [float](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/starsession-tika-9e435d.pdf) · [баланс](https://kappa.lol/0zCHHo) · [Отдельно](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [list[float](https://tvbuy.tw/%E8%8D%92%E9%87%8E%E6%B1%82%E7%94%9F%E7%84%A1%E9%A6%AC%E8%B3%BD%E5%85%8B?f=linkcentre) · [ValueError("пустой](https://rentry.co/nita-starsession-618649) · [raise](https://sofiamartin803.overblog.fr/2026/10/t-rbanl-plak-kad-n-resimleri-zel-i-f-a-ve-amat-r-foto-raf-ar-ivi.html) · [Пример](https://hansenlucas58.wixsite.com/my-site-1/post/t%C3%BCrk-snap-if%C5%9Fa--adanal%C4%B1-%C3%A7%C4%B1t%C4%B1r-nedime-melike-ve-daha-fazlas%C4%B1) · [тестах](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nita-starsession-e1cbcc.pdf) · [чисел](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/nubia-oliver-only-fans-2f569d.pdf) · [обычно](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [написать](https://articlescad.com/sandra-mod-381168.html) · [ручное](https://writefreely.ethibox.fr/ozbb5198/hua-lian-er-ri-you) · [вместо](https://hey.xyz/posts/1cnfywr3qhe5masrzem) · [среднего](https://mariefournier156.overblog.fr/2026/10/subhashree-sahu-viral-mms-full-hd-photos-and-videos.html) · [через](https://gall.dcinside.com/mgallery/board/view/?id=nmixxreality&no=3541) · [решения](https://articlescad.com/av-381303.html) · [ручной](https://hey.xyz/posts/1f9fsg69hzgm36d10ec) · [недопустимо](https://rimworld.gallery/m/random/t/16305) · [задач](https://ecency.com/@filipnemec3033/javdb-7330eb) · [списком](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/brackets-razbor-mvbvvuys.md) · [стандартную](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/gachiakuta-r34-7bb6d4.pdf) · [одинаковых](https://ecency.com/@zdenekpospi7879/liz-oliveira-privacy-31d8b8) · [учебной](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g)

