13 maggio 2010

La ricorsione in Python

La ricorsione dicasi quando una funzione richiama se stessa in modo ricorsivo.

ecco un esempio la funzione main() assegna un intero assegna(10), che tramite iterazione di if int > 0: stampa se stessa con dieci volte la stringa assegnata nella print. Per chi non a idea del come avviene provate a commentare #assegna(int -1) e eseguite nuovamente lo script per vedere cosa succede.

>>> def main():
... assegna(10)
...
>>> def assegna(int):
... if int > 0:
... print '|>>> recursive function <<<|'
... assegna(int -1)
...
>>> main()

|>>> recursive function <<<|
|>>> recursive function <<<|
|>>> recursive function <<<|
|>>> recursive function <<<|
|>>> recursive function <<<|
|>>> recursive function <<<|
|>>> recursive function <<<|
|>>> recursive function <<<|
|>>> recursive function <<<|
|>>> recursive function <<<|
>>>



questa crea una ricorsione infinita che vi costringe ad un CTRL-z

>>> def main():
... instrada()
...
>>> def instrada():
... print '|>>> recursive function <<<|'
... instrada()
...
>>> main()

1 commento:

Anonimo ha detto...

Vorrei presentare un mio ebook che parla della ricorsività e dei giochi di specchi ad ampio raggio. Di Ravecca Massimo su amazon: “Tre uomini un volto: Gesù, Leonardo e Michelangelo”.