Comment trouver une factorielle de manière récursive en python
Factorial : Par exemple, 5 fait référence à la "factorielle de 5", c'est-à-dire 5 = 1*2*3*4*5.
"Recursion" est une fonction qui s'appelle elle-même.
Apprentissage recommandé : Tutoriel vidéo Python
def f(x): if x == 0: return 0 elif x == 1: return 1 else: return (x * f(x-1)) print(f(5))
Explication du code : Si x=5, alors renvoie la valeur de 5*f(4). Si vous voulez connaître cette valeur, vous devez d’abord calculer à quoi f(4) est égal. D'après la fonction f(x), f(4) = 4*f(3), donc f(5) = 5*4*f(3). Par analogie, f(5) = 5*4*3*2*f(1). La fonction f(x) dit que lorsque x==1, la valeur de retour est 1. Donc : f(5) = 5*4*3*2*1 = 120. Par conséquent, le résultat de sortie est le suivant :
120
Cela semble très gênant et difficile à comprendre. Et si nous n’utilisons pas de fonctions récursives ? En utilisant le code le plus basique, il peut s'écrire :
f = 1 for i in range(1,6): f = f * i print(f)
Le résultat est toujours 120.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!