Python Language Fonctions récursives


Exemple

Une fonction récursive est une fonction qui s'appelle elle-même dans sa définition. Par exemple, la fonction mathématique, factorielle, définie par factorial(n) = n*(n-1)*(n-2)*...*3*2*1 . peut être programmé comme

def factorial(n):
    #n here should be an integer
    if n == 0:
        return 1
    else:
        return n*factorial(n-1)

les sorties sont les suivantes:

factorial(0)
#out 1
factorial(1)
#out 1
factorial(2)
#out 2
factorial(3)
#out 6

comme prévu. Notez que cette fonction est récursive car le second return factorial(n-1) , où la fonction s'appelle elle-même dans sa définition.

Certaines fonctions récursives peuvent être implémentées en utilisant lambda , la fonction factorielle utilisant lambda serait quelque chose comme ceci:

factorial = lambda n: 1 if n == 0 else n*factorial(n-1)

La fonction produit le même que ci-dessus.