# Two ways to solve computing an average (part 6ddf)

У большинства учебных задач есть минимум два честных решения — сравним их.

## Задача

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

## Решение

```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://blogfreely.net/igorcollins26/mi-wan-san-ren-zu-wu-tao-lun-cao-nei-she-fu-jia-nu-shi-pin) · [задачу](https://paper.wf/katyawagner65log/laliberte-secret-37-top-hentai-comics-english-edition) · [Пример](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [часто](https://rentry.co/nxu2kh4b) · [работы](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [количество](https://dam-port.com/gachiakuta+r34?f=linkcentre) · [Отдельно](https://hey.xyz/posts/3r5a28mqj5q13m5fhx6) · [среднего](https://ecency.com/@jannovotny8793/post-e0abe3) · [работает](https://sway.cloud.microsoft/ZBdnx3OMWSKRNCDq) · [минимум](https://statics.pancake.vn/web-media-264/fa/00/ed/15/8ae24b374d4f57669060783322f9ecea3e4c97b2c35fa6e8ac7dffc9.pdf) · [первый](https://paper.wf/greta1969log/turkish-mistress-scat) · [большинства](https://articlescad.com/amour-angels-busty-381572.html) · [разобрать](https://drop.xtrafrancyz.net/selif/2wruyynjuk.pdf) · [показывает](https://newatsapp.altervista.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-644714.pdf) · [через](https://sway.cloud.microsoft/h2YZ6PG1QMb3IHgy) · [арифметическое](https://hey.xyz/posts/1ka855t0yj0m345r2n4) · [иначе](https://articlescad.com/hd-381656.html) · [Найти](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-f64e14.pdf) · [Выбор](https://gal84381.carrd.co/) · [ошибка](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/lipovonche-21c8cc.pdf) · [элементов](https://drop.xtrafrancyz.net/selif/t7y6q8hal1.pdf) · [важнее](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [деление](https://blogfreely.net/nataliarussell2/thepetitegeordie) · [Альтернатива](https://radicle.network/nodes/seed.pipapo.org/rad%3Az3hB7C3rBZT1EZ8e7Bw3oRit2Cpbb/issues/edbc41bfcbe3ec5d0fb165bec285788bb0b1dfca) · [выбрасывается](https://hey.xyz/posts/29ges2mhqb6x6hkekgq) · [список](https://discuss.tchncs.de/post/65441186) · [len(arr](https://news-ctl-posts.hashnode.dev/solving-and-testing-anagram-checking-part-7072) · [недопустимо](https://paper.wf/irenakeller65380/brook-monk-leaks) · [например](https://statics.pancake.vn/web-media-264/f8/5d/49/e4/43254af38c7f0ef43decef559be6eaa2218c8c6418c234de2b2eb57c.pdf) · [делать](https://blogfreely.net/igorcollins26/ivantill-r34-alien-stage-hentai-art)

