Comment créer une fonction récursive en Python ?

Par : TutorialsGrey, le 08 Janvier 2022

La récursion est une méthode de programmation dans laquelle une fonction s'appelle elle-même une ou plusieurs fois dans son corps. En général, elle renvoie la valeur de retour de cet appel de fonction. Lorsqu'une fonction est définie en utilisant une méthode de programmation par récursion, on appelle cette fonction une fonction récursive. Dans cet article, vous allez apprendre à définir une fonction récursive en Python.

Une fonction récursive doit se terminer pour être utilisée dans un programme. Elle se termine si, à chaque appel récursif, la solution du problème devient plus petite et se rapproche d'un cas de base. Le cas de base est le cas où le problème peut être résolu sans récursion. Une récursion peut conduire à une boucle infinie si le cas de base n'est pas atteint dans les appels de fonctions.

 

 Exemple

Le code suivant montre comment calculer la somme des n premiers nombres entiers naturels en utilisant une fonction récursive en Python.

def sum(n):
    if n == 0: # Le cas de base
        return 0
    else:
        return n + sum(n-1) # Appel récursif

print("La somme des 20 premiers nombres entier naturels est :", sum(20))
print("La somme des 100 premiers nombres entier naturels est :", sum(100))
print("La somme des 500 premiers nombres entier naturels est :", sum(500))

 

Résultat :

Le code ci-dessus affiche la somme des 20 premiers, 100 premiers et 500 premiers nombres entiers naturels.

La somme des 20 premiers nombres entier naturels est : 210
La somme des 100 premiers nombres entier naturels est : 5050
La somme des 500 premiers nombres entier naturels est : 125250