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

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

## Задача

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

## Решение

```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://blogfreely.net/nathannazarov26/dasha-madness-onlyfans-leaked-photos-and-videos-collection) · [времени](https://tomass16.wixsite.com/my-site-1/post/dokterbokep) · [чисел](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/julio-jose-ipcam-7fc2b7.pdf) · [Сумма](https://drop.xtrafrancyz.net/selif/13mj0l9a8y.pdf) · [Проверяем](https://statics.pancake.vn/web-media-264/b6/54/89/62/26b29db2b6771da274df87896506be9c162f693f1029d4441e89a5b5.pdf) · [корректными](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [чужой](https://sway.cloud.microsoft/3QqkdOgdauLHJ06C) · [решение](https://paste2.org/smJVbzed) · [обрабатывается](https://matin-paris.com/fitcouger?f=linkcentre) · [арифметическое](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/merge-sort-oshibki-mvfulxnu.md) · [среднее](https://privatebin.devol.it/?25fb2beb37dcac5e#5FZeULKrc377Y8AcQn1n77JXe3hmCer16XuiSHGfqr5C) · [включая](https://pen.absturztau.be/oz830f0e/da-pi-gu-dong-man) · [ошибка](https://privatebin.devol.it/?5d5319feaee1f15f#8eCCGy4KAjvJeG4rMZUxuupqPDAqwnoFE4S4duxQ3xzb) · [пустым](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Основной](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/unique-tests-mvfz6tsp.md) · [Результат](https://exhibit13660.mataroa.blog/blog/starsessions-secretstars/) · [выбрасывается](https://radicle.network/nodes/index.radicle.garden/rad%3Az4VnNPpZZFVgHuZcpNTk5BEZbmiip/issues/1b7bd0d289a26a741c7ec0a0860ebbed69efb0e9) · [способ](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/good-night-onii-chan-demon-slayer-1129ea.pdf) · [Разбор](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [делать](https://statics.pancake.vn/web-media-264/b8/36/a9/9f/83f04ef52e2c80939629c5576d6d2139501365b947239b96a052b22d.pdf) · [научиться](https://rentry.co/gallery-315804) · [случаи](https://jaflysilve.freeflarum.com/d/4376-4376-zadaci-na-dvizenie-8-klass-algebra) · [возвращаемое](https://drop.xtrafrancyz.net/selif/2yg3ovl6bo.pdf) · [приходит](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/lilyyxroseee-984ba4.pdf)

