Wpis z mikrobloga

n = 5

def silnia_rek(n):
if n > 1:
return n * silnia_rek(n - 1)
elif n in (0, 1):
return 1
print(silnia_rek(n))

Zacząłem uczyć się pythona i od wczoraj tkwie nad rekurencją, bo nie rozumiem działania,
Dlaczego to wylicza silnie skoro instrukcja wygląda tak:
1. n większe od 1, więc weź 5 * (5-1) = 5 * 4 = 20
2. olej elif, bo n nie ma w tym przedziale
3. wypluj wynik funkcji

Zakładam, że to się zapętla odejmując wartość o 1, ale jak skoro nie ma pętli? ( ͡° ʖ̯ ͡°)

#programowanie #python
  • 9