J'essaie de mieux comprendre la récurrence et le fonctionnement des instructions de retour. En tant que tel, je regarde un morceau de code destiné à identifier le nombre de fibonacci associé à un terme donné - dans ce cas, 4. J'ai du mal à comprendre l'autre déclaration.Comprendre la récursivité avec la série Fibonacci
def f(n):
if n == 0:
return 0
if n == 1:
return 1
else:
return f(n-1) + f(n-2)
f(4)
J'ai essayé d'utiliser Python pour examiner Visualize ce qui se passe à chaque étape, mais je me perdre quand il frappe l'instruction else.
On dirait qu'il prend la valeur de n et soustrait 1, pour créer une n nouvelle valeur de 3 qu'il retourne à la définition de la fonction. Il semble donc renvoyer uniquement la valeur de la première fonction dans l'instruction else. Cependant, l'instruction else est écrite pour renvoyer la somme de 2 fonctions f (n-1) + f (n-2), auquel cas je pensais que la valeur de retour serait 5? Pouvez-vous même ajouter 2 fonctions ensemble?
Merci d'avance pour votre aide.
Voici un lien vers le code Python Visualize Sum of 2 functions
Ce n'est pas l'ajout de deux fonctions, il est l'addition des entiers renvoyés par deux appels à une fonction. Chaque appel est entièrement indépendant, en particulier chacun a sa propre valeur privée pour 'n'. – jasonharper