Pour qu'un programme soit récursif, il faut déclarer une ou plusieurs fonctions qui s'appellent elles-mêmes.
Voici un exemple de programme récursif :
def fonct(n): if n>0: fonct(n-1) print(n) fonct(3)
Cette fonction à pour but d'énumérer les nombres de 0 jusqu'à n.
En effet, la fonction va s'appeler elle-même, en passant comme paramètre n-1, jusqu'à ce que n soit égal à 0. Ensuite, elle va afficher n.
Pour qu'un programme récursif fonctionne, il faut vérifier que le programme se termine (sinon celui-ci va planter puisqu'il tournera à l'infini), et qu'une fois arrêté, le programme nous renvoie bien ce qui est voulu.
def Hello(): print("Hello World") Hello() Hello()
Ce programme va répéter la fonction Hello() à l'infini, cela va renvoyer ce message d'erreur.
Les fonctions récursives peuvent être utilisées de nombreuse façons, par exemple, pour renvoyer la factorielle n'un nombre.
def fact(n) : if n > 0 : return n*fact(n-1) else : return 1