# Solving and testing the Fibonacci sequence (part a612)

Решение без тестов быстро ломается, поэтому добавим к задаче простые проверки.

## Задача

Напечатать первые `n` чисел Фибоначчи: 0, 1, 1, 2, 3, 5, … Каждое следующее равно сумме двух предыдущих.

## Решение

```python
def fibonacci(n: int) -> list[int]:
    a, b = 0, 1
    result = []
    for _ in range(n):
        result.append(a)
        a, b = b, a + b
    return result


print(fibonacci(10))
```

## Как это работает

Храним два последних числа и на каждом шаге сдвигаем пару вперёд одной строкой `a, b = b, a + b`. Рекурсия здесь не нужна и работает медленнее.

## Пример работы

```text
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
```

## Сложность

O(n) по времени, O(n) по памяти под результат.


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

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

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

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

С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.

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

[сразу](https://rentry.co/q3taq7dd) · [Проверка](https://paper.wf/gretasvoboda95log/jelly-bean-brain-porn-leaked-onlyfans-nudes-and-sex-tape) · [ломается](https://privatebin.devol.it/?9ac0a4533d86d578#6jLxSKSY9PJJs9jyNkXyjqVWQBKfJ2YnQB5gsPn35oe1) · [тестов](https://bestpornsites.love/bbw+matures+turkey+%28%40bbwturkey%29+twitter+%28%40bbwturkey%29+%E2%80%94+twitter?f=linkcentre) · [проверок](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [result](https://discuss.tchncs.de/post/65444690) · [становится](https://rentry.co/ai-422532) · [нескольких](https://ownforum.freeflarum.com/d/5341-5341-united-kingdom-economic-growth-rate) · [памяти](https://yakihonne.com/article/naddr1qvzqqqr4gupzqk0hec70wumnlkk8j2s63yg66fefqa4fdnjkd4949suu45yy6tr5qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknqvesv3jnvvp395urzd33956rjvpj943xgvfn94nxxep3xfnrxdtxxesnjm0mu3u) · [python](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/gcd-oshibki-mvdznbcr.md) · [второй](https://sway.cloud.microsoft/GCtav7dsFfu1OwKy) · [Решение](https://discomaximus.me/ochincos?f=instapaper) · [числа](https://avdc.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/ethereum-miner-software-cdaa28.pdf) · [проверки](https://yakihonne.com/article/naddr1qvzqqqr4gupzqxkydf5z4nd687lwl9recezr8j2vjjkh5zj0phlstmcg6l3pa6l3qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszrthwden5te0dehhxtnvdakqzynhwden5te0danxvcmgv95kutnsw43qqtr8v9kxcetj0yknydejxp3rgctp956rxdnp956r2dtx943ryve595mrgcnx8ycnqvf5xv6nwen046q) · [fibonacci(n](https://gallery10359.mataroa.blog/blog/dongeuran-busty-korean-model-photo-gallery-and-videos/) · [случайной](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [случай](https://discuss.tchncs.de/post/65441081) · [задаче](https://kappa.lol/YR0WUe) · [первые](https://drop.xtrafrancyz.net/selif/3uoxs8bz6w.pdf) · [добавлением](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [базовая](https://paper.wf/diananeumann88log/yololary-onlyfans-videos-leaked-joi-blowjob-and-anal) · [Храним](https://hey.xyz/posts/yrxdn11s3zf6pcckwe) · [добавим](https://ecency.com/@radekvesely4878/starsessions-leyla-f05835) · [assert](https://kappa.lol/La4jpK) · [здесь](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/helen-mirren-the-cook-the-thief-his-wife-9cf26f.pdf) · [предыдущих](https://gallery85059.mataroa.blog/blog/obaiworks/) · [ошибки](https://jaflysilve.freeflarum.com/d/3284-3284-yuumeilynn) · [равно](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/dlsite-89b0ec.pdf) · [Сложность](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/jelly-bean-brain-porn-5c6035.pdf)

