Wejście i powrót z wywołań rekurencyjnych

Rekurencja: silnia, potęga i algorytm Euklidesa - Algorytmy: zakres rozszerzony (Python)

Program pokazuje, w jakiej kolejności funkcja rekurencyjna wchodzi do kolejnych wywołań i z nich wraca. Wcięcie odpowiada głębokości wywołania. Najpierw wszystkie wywołania schodzą w dół aż do warunku końca, a potem wracają w odwrotnej kolejności, jak talerze zdejmowane ze stosu.

def countdown(n, depth=0):
    print("  " * depth + f"wejście: n = {n}")
    if n > 0:
        countdown(n - 1, depth + 1)
    print("  " * depth + f"powrót: n = {n}")


countdown(3)

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Algorytmy: zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.