Récursivité

une fonction récursive est une fonction qui s’appelle elle même!

Un exemple classique:
le factoriel d’un entier n est l’entier noté n! et qui vaut n!=1*2*3*…*(n-1)*n avec la convention 0! = 1
Une simple boucle permet de le calculer, mais il y a une autre méthode qui consiste à remarquer que factoriel(n)=n*factoriel(n-1)
d’où la fonction

def factoriel(n):
….return factoriel(n-1)*n

mais voilà: une telle fonction s’appellerait elle-même indéfiniment!!!
il faut donc prévoir un arrêt:

ici c’est lorsque la chaîne des appels est arrivée à factoriel(1)

d’où la bonne version:

def factoriel(n):
….if n==0:
……..return 1
….else:
……..return factoriel(n-1)*n