HOWTO · Python

Correction de Python Recursionerror: maximum recursion depth exceeded in comparison

Comment réparer l'erreur de récursion: profondeur de récursivité maximale dépassée dans l'erreur de comparaison en Python

Sur cette page

Cet article présentera comment vous pouvez résoudre l’erreur recursionerror: maximum recursion depth exceeded in comparison en Python. Tout d’abord, nous devons comprendre ce qu’est la récursivité dans le langage de programmation.

Correction de l’erreur recursionerror: maximum recursion depth exceeded in comparison dans Python

La récursivité se produit lorsque vous appelez la fonction elle-même à l’intérieur de son corps. Cela fonctionne comme une boucle jusqu’à ce qu’une certaine condition soit remplie ; la récursivité continue. Mais le cas est différent en Python. Il existe une limite de profondeur de récursivité maximale en Python. Par exemple, jetez un oeil à l’exemple de code suivant.

# function definition
def func():
    print("Hello Python")

    # recursive Call
    func()


# uncomment this to run the function
# func()

Si vous exécutez le code ci-dessus, il affichera le Hello Python jusqu’à une certaine limite ; alors, il donnera cette erreur exacte. Alors, comment ajuster la limite selon votre choix ? Vous pouvez importer un module et vérifier la profondeur de récursivité maximale. Jetez un oeil au code suivant.

# import module
import sys

# function to check the default maximum recursion depth
print(sys.getrecursionlimit())

En exécutant le code ci-dessus, vous obtiendrez la limite récursive de votre système. Vous pouvez vérifier la profondeur de récursivité maximale en utilisant le code ci-dessus. Pour ajuster la limite, vous pouvez exécuter le code suivant.

# To increase or decrease the limit
sys.setrecursionlimit(2000)