# Solving and testing the Fibonacci sequence (part 63e8)

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

## Задача

Напечатать первые `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  # и второй случай
```

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

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

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

[поэтому](https://contracosta.news/wp-content/uploads/event-manager-uploads/event_banner/2026/10/event-eb8b9b.pdf) · [Проверка](https://loc.edu/wp-content/uploads/event-manager-uploads/event_banner/2026/10/91-70f696.pdf) · [удобны](https://privatebin.devol.it/?cb3b5a15d4afdbff#6Md69kWGXgL9pEZWajrBDRukAHvGAvuFPtGee5EyYrqD) · [fibonacci(n](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/reverse-string-dva-sposoba-mvflf7ng.md) · [Тесты](https://blogfreely.net/nathannazarov26/goommymuffin-r34) · [работы](https://jaflysilve.freeflarum.com/d/4131-4131-gizli-ensest-twitter) · [Каждое](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/prunhob-4cfcfa.pdf) · [последних](https://dev.to/valentina_silvaferreira_/rieshaiem-i-tiestiruiem-shifr-tsiezaria-59g) · [assert](https://exhibit18271.mataroa.blog/blog/e00-3a-bad/) · [вызова](https://rimworld.gallery/m/random/t/16305) · [случаи](https://hey.xyz/posts/30kjhn8b1m0tt8nmjne) · [быстро](https://dev.to/valentina_silvaferreira_/rassmatrivaiem-klassichieskuiu-zadachu-provierka-anaghramm-geg) · [примерах](https://privatebin.devol.it/?864ca14609d79b29#GdCUhTgd77QnRN7V6PetZBjFv8rg3newLcL3vz7vgvkc) · [нескольких](https://articlescad.com/lucas-and-daisy-sex-387233.html) · [работает](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/kanojodori-69c42f.pdf) · [наглядные](https://gall.dcinside.com/mgallery/board/view/?id=nmixxreality&no=3537) · [случай](https://articlescad.com/kanojodori-386825.html) · [сумме](https://vit.ac.in/wp-content/uploads/event-manager-uploads/event_banner/2026/10/leakedbabez-8ccbd0.pdf) · [чисел](https://statics.pancake.vn/web-media-264/f7/9e/58/4a/117da5236403ea3ca7a6dec0603ce5be774fa61fc460fd647a466e54.pdf) · [Рекурсия](https://cultmtl.com/wp-content/uploads/event-manager-uploads/event_banner/2026/10/kristina-chernaleva-56d6e1.pdf) · [проверка](https://dev.to/valentina_silvaferreira_/nieskolko-rieshienii-rieshieniia-prostoi-zadachi-chisla-fibonachchi-48da) · [базовая](https://statics.pancake.vn/web-media-264/eb/58/18/71/def58270aa7d7ab7b8ba9548d1ea8db3712e49d6b3104b94ed4cbfef.pdf) · [предыдущих](https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/palindrome-shagi-mvfkjgl5.md) · [Задача](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/twistyshard-f4b8d3.pdf) · [Храним](https://artofhosting.org/wp-content/uploads/event-manager-uploads/event_banner/2026/10/mathema-kitten-rock-paper-scissors-chall-2aa21c.pdf) · [result.append(a](https://blogfreely.net/nathannazarov26/gog-and-magog-war-revelation) · [привычка](https://nikolaynovak73.wixsite.com/my-site-1/post/monsters-inc-gay-porn) · [крайние](https://exhibit31899.mataroa.blog/blog/ixxx-similar/) · [одной](https://bibionsol.com/guncel+turk+ifsa?f=instapaper) · [вперёд](https://rimworld.gallery/m/random/t/16310)

