[PIPython] forse ci siamo "funzioni"

Maurizio Brilli mbrilli
Ven 19 Nov 2004 15:16:53 CET


> Potete spiegarmi l'ultimo discorso rest= mult???

Credo che il problema sia che hai fatto un salto troppo lungo: dovevi 
ancora capire bene le funzioni e ti sei trovato di fronte ad una 
funzione che richiama se stessa in modo ricorsivo...

Questo è il significato di rest = mult: eseguo di nuovo la stessa 
funzione. Quindi avrò il seguente flusso:
a=3, b=2
eseguo mult(a,b) (prima volta)
Siccome b non è uguale a 0, rest=mult(a,b-1), quindi eseguo di nuovo 
mult con a=3 e b=1 (seconda volta)
Siccome b ancora non è uguale a 0, eseguo di nuovo mult con a=3 e b=0 
(terza volta)
Adesso b è uguale a 0, quindi return 0.
Sono di nuovo nella seconda ricorsione, dove faccio value = a + rest 
(ovvero 3 + 0, il valore che mi ha restituito la terza ricorsione), 
quindi return value equivale a dire return 3.
Adesso sono tornato nella prima ricorsione, dove di nuovo faccio value = 
a + rest (ovvero 3 + 3), quindi restituisco il valore 6.

Ciao
Maurizio



More information about the Python mailing list