Программа Python для вывода последовательности Фибоначчи

Последовательность Фибоначчи — это ряд целых чисел 0, 1, 1, 2, 3, 5, 8, …

Первые два члена равны 0 и 1. Все остальные получаются сложением двух предыдущих, то есть n-й член равен сумме (n-1)-го и (n-2)-го.

Что нужно знать

Пример

# Программа выводит n первых членов последовательности Фибоначчи

nterms = int(input("How many terms? "))

# первые два члена
n1, n2 = 0, 1
count = 0

# проверяем корректность количества членов
if nterms <= 0:
   print("Please enter a positive integer")
# если членов всего один — возвращаем n1
elif nterms == 1:
   print("Fibonacci sequence upto",nterms,":")
   print(n1)
# генерируем последовательность Фибоначчи
else:
   print("Fibonacci sequence:")
   while count < nterms:
       print(n1)
       nth = n1 + n2
       # обновляем значения
       n1 = n2
       n2 = nth
       count += 1

Вывод

How many terms? 7
Fibonacci sequence:
0
1
1
2
3
5
8

Количество членов хранится в nterms. Первый член инициализируется как 0, второй как 1.

Если членов больше двух, цикл while считает следующий член сложением двух предыдущих, обновляет переменные и продолжает до тех пор, пока не выведет нужное количество значений.

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

Итеративный подход хранит только два соседних члена n1 и n2 и на каждом шаге сдвигает «окно» вперёд: новый член nth становится n2, а старый n2n1. Это эффективнее рекурсивного варианта, потому что каждый член вычисляется ровно один раз.