V tomto programu se naučíte tisknout Fibonacciho sekvenci pomocí while smyčky.
Abychom porozuměli tomuto příkladu, měli byste znát následující témata programování v Pythonu:
- Příkaz Python if … else
- Python while Loop
Fibonacciho sekvence je celočíselná sekvence 0, 1, 1, 2, 3, 5, 8….
První dva výrazy jsou 0 a 1. Všechny ostatní výrazy se získají sečtením předchozích dvou výrazů. To znamená, že n-tý člen je součtem (n-1) tého a (n-2) tého členu.
Zdrojový kód
# Program to display the Fibonacci sequence up to n-th term nterms = int(input("How many terms? ")) # first two terms n1, n2 = 0, 1 count = 0 # check if the number of terms is valid if nterms <= 0: print("Please enter a positive integer") elif nterms == 1: print("Fibonacci sequence upto",nterms,":") print(n1) else: print("Fibonacci sequence:") while count < nterms: print(n1) nth = n1 + n2 # update values n1 = n2 n2 = nth count += 1
Výstup
Kolik termínů? 7 Fibonacciho sekvence: 0 1 1 2 3 5 8
Zde ukládáme počet termínů do nterms. Inicializujeme první člen na 0 a druhý člen na 1.
Pokud je počet výrazů více než 2, použijeme while
smyčku k vyhledání dalšího výrazu v pořadí přidáním předchozích dvou výrazů. Poté proměnné vyměníme (aktualizujeme) a pokračujeme v procesu.
Tento problém můžete vyřešit také pomocí rekurze: Program Python pro tisk sekvence Fibonacci pomocí rekurze.