# Two ways to solve 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://paste2.org/YkvfK5eL) · [делится](https://dev.to/devnote2319/idempotent-publishing-jobs-6avwq-2mld) · [иначе](https://paper.wf/ninabraun01log/nwdz-bwrs-yd-swr-wfydywht-n-m-mn-msr) · [первый](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-grl1o-1ene) · [Альтернатива](https://workshop-hub.gitbook.io/workshop-hub-docs-1/rassmatrivaem-zadachu-sortirovka-sliyaniem) · [недопустимо](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-qyha1-2c40) · [копировать](https://articlescad.com/willow-brawl-stars-r34-418661.html) · [float](https://radicle.network/nodes/index.radicle.garden/rad%3AzV5YiPTNFC3gc3NJ3y8GP4DDvLZJ/issues/996dcd8eead55b6cf419789ceae01fddcf7c6010) · [Решение](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/fxx-f10542.pdf) · [raise](https://ecency.com/@tomasruzick4961/post-0075f7) · [делать](https://dev.to/devnote2319/scheduling-retries-in-a-publishing-pipeline-sjke6-2iip) · [сравню](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/11/aaasuka789-08e381.pdf) · [average(arr](https://dev.to/devnote2319/logging-pipeline-runs-without-noise-owga6-4o5l) · [лучше](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/11/secretstars-starsessions-d8be28.pdf) · [подход](https://dev.to/devnote2319/idempotent-publishing-jobs-id6wf-3l4b) · [алгоритма](https://dev.to/devnote2319/account-pools-for-multi-platform-posting-ex8x1-55li) · [Альтернативный](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/11/jadeteen-leak-efd267.pdf) · [коротко](https://jaflysilve.freeflarum.com/d/19122-19122-rika-nishimura-gallery-nude-japanese-av-idol-photos) · [памяти](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/stickam-brush-bate-305d95.pdf) · [через](https://ymcatexasyg.org/wp-content/uploads/event-manager-uploads/event_banner/2026/11/madeline-may-mitchell-leaked-5cf8f3.pdf) · [среднее](https://radicle.network/nodes/seed.pipapo.org/rad%3Az2VKM2BD9esu9y4s533ARRx5yFAko/issues/1bcc898e161cc6a3445b84649046b309d307ff03) · [Полезно](https://blogfreely.net/catherine-vasilyev70/kamni-dlia-bani-kupit-v-rige) · [пустым](https://privatebin.devol.it/?8e912f6b077c1ad2#EYda9GeZztRaZPFrYG7z64TTkiApeYBmkEDhmrTMxjXn) · [рабочие](https://posts.workshop-hub.workers.dev/quicksort-oshibki-2) · [list[float](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/11/subhashree-sahu-leak-video-9ebaeb.pdf) · [список](https://sway.cloud.microsoft/Crn0pHtNxwAj8kNe)

