# Solving and testing computing an average (part fbd7)

Разберём решение и сразу накроем его тестами — это хороший стиль работы с кодом.

## Задача

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

## Решение

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


## Проверка тестами

Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.

```python
assert is_valid(True) is not None  # базовая проверка вызова
assert is_valid(False) is not None  # и второй случай
```

Такой минимум уже защищает от случайной ошибки при правках кода.

Тесты вида assert удобны для учебных задач: они короткие, наглядные и не требуют фреймворков.

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

[среднего](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [памяти](https://hey.xyz/posts/2vyk1jhyk6gehbgjg3d) · [списком](https://yakihonne.com/article/naddr1qvzqqqr4gupzqa8d2yzgtytvudpl8570c6wgnwmp2yekzznjtl85ya7z0zpkan5vqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykk2dfex5ur2v3h95ckgde3956xgvek94sngvtz956rxvmpx43kvwfkvfjnqj5lxcw) · [вызова](https://yakihonne.com/article/naddr1qvzqqqr4gupzp3z24ur9f5zrqr0nlw83wzmn05wg89p0az437pr9003w7u0p2tczqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0ykkxvfnv5en2dfn943n2ef3956r2e3s95unjefh95crvdfcvcukvcn9x93ngc8k5r9) · [return](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/sava-schultz-sextape-4ec231.pdf) · [len(arr](https://pen.absturztau.be/oz42cdf3/naked-minecraft-girls) · [стиль](https://sway.cloud.microsoft/pIw1ikfAjB4XPZpw) · [случай](https://semplice.su/t%C3%BCrk+if%C5%9Fa+yandex+disk?f=linkcentre) · [Хорошая](https://blogfreely.net/igorcollins26/awek-kacamata-malay-tudung-putih-seks-di-mobil-squirt) · [list[float](https://jamesd716.wixsite.com/my-site-1/post/%D8%B3%D9%83%D8%B3-%D8%AA%D9%85%D8%B3%D8%A7%D8%AD) · [арифметическое](https://privatebin.devol.it/?c2ce1cc6f7a53cf2#HCT8igCqBB24P24KykBauqyPkr3AhBZG843MH1JeNeWa) · [крайние](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [Решение](https://yakihonne.com/article/naddr1qvzqqqr4gupzp6n8ddrw52flyxrhzdr7wg946hqeuw2vztugncjkq3ndyrl4jhcvqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknwwtpxquk2vny94jn2c3s956xgdtp95unvctp94nxyctyxd3nzvejv5mxxa9c9rw) · [деление](https://discuss.tchncs.de/post/65444086) · [пустой](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/araina-nespiak-554000.pdf) · [базовая](https://phansen59.wixsite.com/my-site-1/post/%E7%A6%8F%E5%BB%BA%E5%85%84%E5%A6%B9%E4%B9%B1%E4%BC%A6) · [правках](https://writefreely.ethibox.fr/oza003bc/finance-jobs-in-airoli-mindspace) · [задач](https://blogfreely.net/igorcollins26/brattygbaby-leak) · [Сумма](https://collection98107.mataroa.blog/blog/thestartofus-naked-onlyfans-leaked-photos-and-videos/) · [Такой](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/superbusty-ced5fb.pdf) · [хороший](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/is-prime-razbor-mvgmhc46.md) · [average(arr](https://ninalaurent951.overblog.fr/2026/10/miniimiilf.html) · [разобрать](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/roe-163-73f686.pdf) · [недопустимо](https://articlescad.com/fnf-sky-r34-hentai-friday-night-funkin-nsfw-rule-34-gallery-388489.html) · [решение](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [второй](https://discuss.tchncs.de/post/65442111) · [print(average([2](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/stuffedcici-leak-ba25b0.pdf) · [Тесты](https://sway.cloud.microsoft/KRQefCPS9C2uXbhK) · [учебных](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/tim-tebow-wallpaper-e3d54d.pdf) · [требуют](https://jaflysilve.freeflarum.com/d/4721-4721-seo-ahn-bj-korean-bj-seo-ahn-in-black-fishnets)

