Sto studiando Python e mi sono imbattuto in questo esercizio.
Codice PHP:
def Fattoriale(n): 
  if 
== 0
    return 

  
else: 
    
FattorialeMenoUno Fattoriale(n-1
    
Risultato FattorialeMenoUno 
    
return Risultato 
Allegato all'esercizio svolto viene mostrato una descrizione del flusso del programma dove n=3:

1.Dato che 3 non è 0, seguiamo il ramo else e calcoliamo il fattoriale di n=3-1=2...
2.Dato che 2 non è 0, seguiamo il ramo else e calcoliamo il fattoriale di n=2-1=1...
3.Dato che 1 non è 0, seguiamo il ramo else e calcoliamo il fattoriale di n=1-1=0...
4.Dato che 0 è 0 ritorniamo 1 senza effettuare ulteriori chiamate ricorsive.
5.Il valore di ritorno (1) è moltiplicato per n (1) e il risultato (1) restituito alla funzione chiamante.
6.Il valore di ritorno (1) è moltiplicato per n (2) e il risultato (2) restituito alla funzione chiamante.
7.Il valore di ritorno (2) è moltiplicato per n (3) e il risultato (6) diventa il valore di ritorno della funzione che ha fatto partire l'intero processo.

Sinceramente questo esercizio che senz'altro sarà banale mi resta difficile capirlo. In particolare non spiego il passaggio dal punto 3 al punto 4 e come poi si svilippi nei passaggi successivi.

C'è qualcuno in grado di essere più chiaro?

P.S. La formula del fattoriale è la seguente n! = n (n-1)!
Esempio: 3! = 3*2*1 = 6 e 5! = 5*4*3*2*1 = 120

Grazie a tutti coloro che mi risponderanno!