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

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

## Задача

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

## Решение

```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://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [sum(arr](https://visuals18871.mataroa.blog/blog/wwwjkll/) · [деление](https://blogfreely.net/nataliarussell2/spitreligion) · [работы](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [Пример](https://hey.xyz/posts/29aecqmc85f69v5jwsr) · [итерации](https://myproperty.co.ls/draculin+videos?f=linkcentre) · [значение](https://clarasimon847.overblog.fr/2026/10/belinda-bely.html) · [average(arr](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/dolce-modz-pics-04c028.pdf) · [Проверяем](https://worthycheddar.co.uk/desi49+com+desi+sex+videos?f=instapaper) · [функцию](https://sway.cloud.microsoft/X5Y3IERoFY87zD4N) · [Решение](https://statics.pancake.vn/web-media-264/c8/e6/bc/60/ce24da86bb165fecf0a3b2c759fa25b0f93883263086a1c1dd323cf8.pdf) · [список](https://sway.cloud.microsoft/KsGtCmHq8fKSmlPN) · [делать](https://privatebin.devol.it/?c42985569c3d820e#Gna9UzCkd7wgMPK5H7rpAQH6tyCnUFeZmrqLUhsZbMyP) · [Найти](https://emmafournier342.overblog.fr/2026/10/bellatina.html) · [решения](https://rimworld.gallery/m/random/t/16295) · [делится](https://portfolio79607.mataroa.blog/blog/00e-bc-9b9/) · [Разбор](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [условию](https://stills56405.mataroa.blog/blog/namification-artwork-by-nightmare-combat-on-deviantart/) · [разобрать](https://yakihonne.com/article/naddr1qvzqqqr4gupzpg83t6d9skwfqmetstp3flkg467ex5jr7aqex0ndg9nwhs8eulnsqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkyenxxvcnsvps95erycmx956xyve3943rswps95cx2vfcxymrzerzv4sny3yexsc) · [приходит](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/tokhyodrift-663470.pdf) · [поэтому](https://yakihonne.com/article/naddr1qvzqqqr4gupzp6t837hc8k0sswh7lpn40h6ht5uy82cyxn92pm8n5kkwc5mh60w6qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknyv35vserxcnp943kvctr956xvwry94snycnr956ryvpkvgmnywfcvdjny7c6g0a) · [шагам](https://articlescad.com/laraarose-386566.html) · [задачи](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/mom-comic-xxx-2832b9.pdf) · [списка](https://www.sfahba.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/analdelight-9be690.pdf) · [return](https://meadowline1738.bearblog.dev/) · [значения](https://hey.xyz/posts/9dq0y03jc2zh2n0gnb)

