La récursivité des fonctions
Python est un langage de programmation récursif. Cela signifie que, dans ce langage de programmation, la définition d’une fonction peut faire appel à cette définition. On dit alors que la fonction s’appelle elle-même.
1. Les factorielles
Si n est un entier naturel supérieur à 1, on appelle factorielle n et on note n! le nombre entier obtenu en multipliant n par tous les entiers qui le précèdent, 0 et 1 exceptés. Ainsi, 4!=4×3×2×l=24 et 8!=8×7×6×5×4×3×2×l=40 320. Pour n=0 et n=1, on pose 0!=1!=1. On peut observer que le nombre n! devient rapidement très grand puisque, par exemple, 10!=3 628 800.
Pour calculer n! on peut écrire un programme itératif, mais aussi un programme qui utilise ce qu’on appelle la récursivité. Voici d’abord le programme itératif dans lequel on utilise la formule n!=n×(n-1)×(n-2)×…×2×1. Programme itératif
# Calcul itératif de n !
def factorielle(n) :
f=1
for i in range(1,n+1) :
f=f*i
return f
# Utilisation de la fonction
n=eval(input("Quelle est la valeur de l'entier n ;"))
print("factorielle ",n, "=", factorielle(n))
Voici maintenant le programme récursif...