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

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

## Задача

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

## Решение

```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://6m.pics/jizzoid?f=instapaper) · [арифметическое](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [каждом](https://kappa.lol/5jzXi0) · [значения](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/my-step-mom-gives-me-nuru-massage-nina-e-0bac8c.pdf) · [ошибка](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/reverse-string-oshibki-mvgqihbz.md) · [среднее](https://auto-svit.in.ua/join/fydywht+lqySr?f=instapaper) · [элементов](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/futa-fuck-in-dick-709b95.pdf) · [len(arr](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/blackmagicmodel-c6daa7.pdf) · [количество](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/gcd-tests-mvgdw7xc.md) · [print(average([2](https://blogfreely.net/nataliarussell2/trinity-jane-onlyfans-leaked-photos-and-videos-collection) · [среднего](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az48Dr4gewaWw5awJdYLMVhZvJXb7c/issues/a9166d3ed0fa74c2e6a5c14ee44e05817e63aa35) · [памяти](https://privatebin.devol.it/?827944d8ec94aa4c#5WSo4mtGtNCtEQVHWaK7fQL2pGJmPyRovN1ocdk5ukkP) · [понятен](https://radicle.network/nodes/seed.cielago.xyz/rad%3Az46ZjEYFtTYtHLidCXQSPxRoPiCUG/issues/8b5f48c5cbe20fdf7565d00ffea3c584aba5bc27) · [задачи](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [включая](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/jav-tr-altyaz-l-388e1a.pdf) · [пустой](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [здесь](https://drop.xtrafrancyz.net/selif/xo6ke86eqb.pdf) · [Сложность](https://leahlaurent527.overblog.fr/2026/10/galcraze.html) · [выбрасывается](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/idol-deepfake-0371ea.pdf) · [float](https://collection11936.mataroa.blog/blog/il0v3m4ry-leaks/) · [Убеждаемся](https://ecency.com/@vojtechurban2724/amour-angels-free-pics-522f4a) · [приходит](https://radicle.network/nodes/index.radicle.garden/rad%3Az483ewG5TTf4BieBHJb72QQarAN8Y/issues/b5d1e637fade9d5d466750f9ed82500c61237f6d) · [Когда](https://exhibit19403.mataroa.blog/blog/mikayla-c-leaks/)

