İtalyan matematikçi Leonardo Fibonacci 13. yüzyılda tavşan popülasyonunun geometrik büyümesini açıklamanın bir yolu olarak, şuanda adını taşıyan bir matematik dizisi tasarladı. Dizideki ilk iki terim Fib(0) ve Fib(1) dir ve bunların değeri 0 ve 1 dir. Sonraki her terim, önceki ikisinin toplamıdır. Bu yüzden, Fibonacci serisindeki ilk bi rkaç terim şu şekildedir:

Fib(0) = 0
Fib(1) = 1
Fib(2) = 1 (0 + 1)
Fib(3) = 2 (1 + 1)
Fib(4) = 3 (1 + 2)
Fib(5) = 5 (2 + 3)

Fib(0) dan başlayarak terimleri yazdıran ve terimler 10,000 den küçük olduğu sürece çalışmaya devam eden bir program yazınız. Program aşağıdaki gibi bir çıktı üretmelidir:

This program lists the Fibonacci sequence.
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765

Bu program terimlerin değeri maksimum değerden küçük olduğu sürece çalışmaya devam eder. Bunu sağlamak için, aşağıdaki kalıbı kullanarak bir while döngüsü kullanmalısınız:

while term <= MAX_TERM_VALUE:
    ... kodunuz buraya ...

Maksimum terim değerinin isimlendirilmiş bir sabitle belirtildiğini unutmayın.

Çözüm

"""
File: fibonacci.py
--------------------
This program lists the terms in the Fibonacci sequence up to
a constant MAX_TERM_VALUE, which is the largest Fibonacci term
the program will display.
"""

# Defines the largest term to display
MAX_TERM_VALUE = 10000


def main():
    print("This program lists the Fibonacci sequence.")
    current_term = 0
    next_term = 1

    while current_term <= MAX_TERM_VALUE:
        print(current_term)
        term_after_next = current_term + next_term
        current_term = next_term
        next_term = term_after_next


if __name__ == '__main__':
    main()