Próbuję lepiej zrozumieć rekurencję i działanie instrukcji return. W związku z tym patrzę na fragment kodu służący do identyfikacji numeru fibonacci związanego z danym terminem - w tym przypadku 4. Mam trudności ze zrozumieniem instrukcji else.Zrozumienie rekurencji za pomocą serii Fibonacci
def f(n):
if n == 0:
return 0
if n == 1:
return 1
else:
return f(n-1) + f(n-2)
f(4)
Próbowałem, używając Wizualizacja Python aby zbadać, co dzieje się na każdym kroku, ale gubię gdy trafi oświadczenie innego.
Wygląda na to, że przyjmuje wartość n i odejmuje 1, aby utworzyć nową wartość n równą 3, która powraca do definicji funkcji. Wygląda więc na to, że zwraca wartość tylko z pierwszej funkcji w instrukcji else. Jednakże instrukcja else jest napisana w celu zwrócenia sumy 2 funkcji f (n-1) + f (n-2), w którym to przypadku myślę, że wartość zwracana wynosiłaby 5? Czy możesz dodać 2 funkcje jednocześnie?
Z góry dziękuję za pomoc.
Tu jest link do kodu w Pythonie Visualize Sum of 2 functions
To nie dodając dwie funkcje, to dodawanie liczb całkowitych zwracanych przez dwóch wywołań funkcji. Każde połączenie jest całkowicie niezależne, w szczególności każdy ma własną wartość prywatną dla 'n'. – jasonharper