# Step-by-step: computing an average (part a81b)

Разложим решение на шаги и объясним, что происходит на каждом из них.

## Задача

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

## Решение

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


## Разбор по шагам

1. **Шаг 1. Входные данные.** Проверяем, что приходит в функцию, и какие значения считаются корректными.
2. **Шаг 2. Основной цикл.** Именно здесь происходит вся работа; следим за изменениями переменных на каждой итерации.
3. **Шаг 3. Результат.** Убеждаемся, что возвращаемое значение соответствует условию задачи, включая крайние случаи.

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

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

[Задача](https://radicle.network/nodes/index.radicle.garden/rad%3Az3jhx1okEBk9Ud7gp16btsv93mduZ/issues/46046f7df95d3e292ca42e850e6e14e50da6ce16) · [Читая](https://wuchu-pub.com/uploads/20261020/1cdbc861c35f72a6ad9aa56b36ff8fc3.pdf) · [имеет](https://sway.cloud.microsoft/5W2TStDEG2UesVGl) · [мысленный](https://lindbergmaria66.wixsite.com/my-site-1/post/peepsamurai) · [average(arr](https://rentry.co/gallery-315804) · [return](https://kybktv.org/%C3%BCvey+anne+pornosu+altyaz%C4%B1l%C4%B1?f=linkcentre) · [количество](https://articlescad.com/hot-venezuelan-venus-fucking-watch-free-porn-video-387142.html) · [здесь](https://privatebin.devol.it/?9025ede975c7b786#46FobiKo8BGqWHyNUGAuv1B8quFRF636ZtYMVQNQ9XuK) · [функцию](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/brima-model-b5d4ba.pdf) · [соответствует](https://kappa.lol/yFb4UQ) · [каждом](https://sway.cloud.microsoft/aiB7FYxEGPdrTvCr) · [решение](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/word-count-dva-sposoba-mvfrnrb5.md) · [разбор](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [среднее](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/51-27f16c.pdf) · [list[float](https://jaflysilve.freeflarum.com/d/4444-4444-quan-shi-jie-zui-hao-de-jiu-fu-li-ji) · [делать](https://wuchu-pub.com/uploads/20261020/a6248cd9c50088a3e70eb2fe53e3b71b.pdf) · [приходит](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [делится](https://jaflysilve.freeflarum.com/d/4334-4334-the-opera-metropole-thu-thiem-dia-chi) · [возвращаемое](https://hey.xyz/posts/31s90fsxfag9a55bsfs) · [какие](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-d79061.pdf) · [sum(arr](https://kappa.lol/h77UPa) · [значение](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [выбрасывается](https://drop.xtrafrancyz.net/selif/gbwf52003v.pdf)

