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

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

## Задача

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

## Решение

```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://rentry.co/adriana-olivarez-sin-ropa-766253) · [цикла](https://paper.wf/katya1979log/4-klas-zadachi-na-rukh) · [среднее](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [каждого](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/eva-ionesco-bourboulon-af47a1.pdf) · [Альтернативный](https://hey.xyz/posts/3qdnxs77jbg88hp8az5) · [raise](https://prosecco.club/oedy9?f=instapaper) · [ValueError("пустой](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/freastern-sarah-d6078a.pdf) · [Полезно](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/snapgod-nudes-520239.pdf) · [алгоритма](https://yakihonne.com/article/naddr1qvzqqqr4gupzpwkqszs39u2m8awpgxp3djqhqdsm0j2faw2aa490se2q5jm456m2qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkzefcv9sngdpc94jn2vfk956xvv3395uxgvp594jkve3c89jrzefsxdskggjrzs5) · [памяти](https://montage98961.mataroa.blog/blog/aa5-5c-5ed/) · [Решение](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [пустым](https://discuss.tchncs.de/post/65443236) · [времени](https://rentry.co/ella-graves-erome-227107) · [Сложность](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/marissa-dubois-xxx-e41444.pdf) · [return](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/mature-ladies-getting-laid-2a4764.pdf) · [стандартную](https://tiuri.blog/tinas_space?f=linkcentre) · [решения](https://privatebin.devol.it/?827944d8ec94aa4c#5WSo4mtGtNCtEQVHWaK7fQL2pGJmPyRovN1ocdk5ukkP) · [задач](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [одинаковых](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/gv-6177fa.pdf) · [списка](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/antonia-mackenzie-naked-92ad51.pdf) · [показывает](https://sway.cloud.microsoft/Pqcsu9CnLr64EHLw) · [list[float](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az32KorQheEWnhjgMfdHnCQapMCwU5/issues/182c73f3581f3a242053d1060dcdae14f49f7118)

