Le langage Python permet, bien entendu de définir des fonctions. De plus, il permet la définition de fonctions récursives.
Cet exemple de code compare deux manières de coder une fonction de calcul de factorielle. La première, factIter
, utilise un algorithme itératif alors que la seconde, factRec
utilise un algorithme récursif.
#!/usr/bin/python3 def factIter( n ): sum = 1 while n>1: sum *= n n -= 1 return sum def factRec( n ): if n == 0 or n == 1: return 1 return n * factRec( n - 1 ) print( "---factIter tests-----------------------------" ) print( factIter( 3 ) ) print( factIter( 6 ) ) print( "---factRec tests------------------------------" ) print( factRec( 3 ) ) print( factRec( 6 ) )
Pour lancer cet exemple, veuillez procéder ainsi :
$> python3 Factorielle.py ---factIter tests----------------------------- 6 720 ---factRec tests------------------------------ 6 720 $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :