====== Écrire un programme récursif ====== 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 : {{ :les_fiches_revisions:langages_programmation:resultat_recur_2.png?400|}} 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. {{ :les_programmes_a_connaitre:langages_term:recur_erreur.png?400|}} 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. {{ :les_programmes_a_connaitre:langages_term:recur_fact.png?400|}} def fact(n) : if n > 0 : return n*fact(n-1) else : return 1