====== Récursivité ====== ===def fonction(parametre): ... if condition_arret: return valeur_de_base ... else: return ...=== Une fonction récursive est une fonction qui s'appelle elle-même. Elle doit toujours comporter deux parties : * une **condition d'arrêt** (aussi appelée cas de base), qui renvoie directement une valeur sans réappeler la fonction, afin d'éviter que la fonction ne s'appelle indéfiniment ; * un **cas récursif**, qui réappelle la fonction avec un paramètre qui se rapproche à chaque fois de la condition d'arrêt. def factorielle(n): """ Objectif : Calcule la factorielle d'un nombre entier de façon récursive. Entrée : n : int : le nombre entier dont on veut calculer la factorielle Sortie : resultat : int : la factorielle de n (n! = n * (n-1) * ... * 1) """ if n == 0: #condition d'arrêt : 0! vaut 1 par définition return 1 else: resultat = n * factorielle(n - 1) #cas récursif : appel de la fonction avec n-1 return resultat print(factorielle(4)) #affiche 24 (4*3*2*1) Attention : sans condition d'arrêt correctement définie, une fonction récursive s'appelle indéfiniment et provoque une erreur (RecursionError).