# Two approaches to 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) по памяти.


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

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

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

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

[рекурсию](https://dev.to/devnote2319/account-pools-for-multi-platform-posting-5122r-31bd) · [Альтернативный](https://oliviafischer95.wixsite.com/my-site-1/post/sahibe-petra-fox) · [альтернативным](https://gall.dcinside.com/mgallery/board/view/?id=nmixxreality&no=3549) · [стандартную](https://dev.to/devnote2319/scheduling-retries-in-a-publishing-pipeline-xnj6q-4bf2) · [тестах](https://oliviamoreau.wixsite.com/my-site-1/post/kalogeras-sisters-nudes-latin-sister-porn-gallery) · [обрабатывается](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/11/gojo-in-geto-fantasy-480p-b09d91.pdf) · [цикла](https://ymcatexasyg.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/pami-baby-only-fans-1f478b.pdf) · [деление](https://lvarga114.wixsite.com/my-site-1/post/jaimeleecomedy-nude) · [float](https://rentry.org/dreemz98-onlyfans-videos-677954) · [арифметическое](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/madina-jade-onlyfans-0c8baf.pdf) · [реализации](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-grl1o-1ene) · [написать](https://workshopeb1353.notepin.co/gcd-dva-sposoba) · [return](https://privatebin.devol.it/?81fdb7325489d696#Abhg7SUD9rw5wKnAN6Q9gkYZCMFT1obMuHSwGFJCrMro) · [короче](https://news-ctl-posts.hashnode.dev/writing-tests-for-the-caesar-cipher-mwbnl6f8) · [важнее](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/marry-me-salmon-pasta-ee0e5e.pdf) · [среднего](https://blogfreely.net/catherine-vasilyev70/3d-cizgi-roman-porno-oku-anne-oglu) · [решение](https://kappa.lol/o21MDO) · [пустым](https://deepaskincare.in/%E4%B8%80%E6%9D%A1%E5%B0%8F%E7%B3%96%E7%B3%96?f=instapaper) · [сравню](https://discuss.tchncs.de/post/65443469) · [баланс](https://prined.sk/%C5%A1kolsk%C3%A1-psychol%C3%B3gia-a-%C5%A1kolsk%C3%BD-psychol%C3%B3g-v-21.-storo%C4%8D%C3%AD?f=instapaper) · [ValueError("пустой](https://news-ctl-posts.hashnode.dev/step-by-step-anagram-checking-mw7209qp) · [разобрать](https://sway.cloud.microsoft/IFLKBXsE0VkBlpJY) · [через](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-qyha1-2c40) · [список](https://dev.to/devnote2319/account-pools-for-multi-platform-posting-ljc1x-2dpe) · [Задача](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-dmof8-55dc) · [работает](https://dev.to/devnote2319/scheduling-retries-in-a-publishing-pipeline-c1e3p-1kdk) · [библиотеку](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/futa-dominatrix-futa-on-male-bdsm-domina-2bc9f3.pdf) · [обычно](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/mathema-kitten-rock-paper-scissors-chall-2f39a7.pdf) · [Сумма](https://posts.workshop-hub.workers.dev/binary-search-dva-sposoba)

