Hovedproblemet med rekursive Fibonacci-serier er, at det kan blive meget svært at spore rækkefølgen af Fibonacci-numre, efterhånden som serien skrider frem. Dette kan blive et problem, hvis du skal henvise til et bestemt nummer i serien, eller hvis du skal udføre en form for beregning på serien, efterhånden som den skrider frem.
def Fibonacci(n):
hvis n<0: print("Forkert input") elif n==1: return 0 elif n==2: return 1 else: return Fibonacci(n-1)+Fibonacci(n-2)[/code] Dette er en rekursiv funktion til at generere Fibonacci-tal. Det kræver et input på n, og hvis n er mindre end 0, udskriver det "Forkert input". Hvis n er lig med 1, returnerer den 0. Hvis n er lig med 2, returnerer den 1. Ellers returnerer den Fibonacci-tallet n-1 plus Fibonacci-tallet n-2.
Hvad er Fibonacci-serien
Fibonacci-serien er en række tal, hvor hvert tal er summen af de to foregående. Det første tal i Fibonacci-serien er 0, og det andet tal er 1. Det næste tal i Fibonacci-serien er 1 + 1 = 2, og så videre.
Rekursiv
I Python er rekursion en måde at løse problemer på ved at kalde en funktion eller metode gentagne gange. Rekursion kan bruges til at løse problemer såsom at finde maksimum- eller minimumværdien af en liste, tælle antallet af forekomster af et bestemt ord i en tekstfil eller beregne Fibonacci-sekvensen.
For at bruge rekursion i Python skal du først oprette en funktion, der vil blive kaldt rekursivt. Følgende kodeeksempel viser, hvordan man opretter en funktion, der beregner summen af to lister:
def sum_of_lists(første_liste, anden_liste): returner første_liste + sum_of_lister(anden_liste, len(anden_liste))
Dernæst skal du kalde funktionen inde fra en anden funktion. Følgende kodeeksempel viser, hvordan man beregner Fibonacci-sekvensen ved hjælp af rekursion:
def Fibonacci(n): hvis n<0: print("Forkert input") ellers: returner Fibonacci(n-1)+Fibonacci(n-2)