2010-07-20 4 views
26

Quel est le niveau maximum de récursion et comment le changer en Python?Niveau maximum de récursion en Python

+32

voir http://stackoverflow.com/questions/3289430/python-recursion – RYFN

+4

lol !! J'adore! Tout comme http://www.google.co.uk/search?hl=fr&q=recursion – Lizard

+6

@Zeus, j'ai essayé de le fermer comme une copie de lui-même. Dommage que cela n'a pas fonctionné. – senderle

Répondre

30

La valeur par défaut est 1000 niveaux profonds et vous pouvez la modifier à l'aide de la fonction setrecursionlimit dans le module sys.

Attention:

Garde-toi certains systèmes d'exploitation peuvent commencer à courir des problèmes si vous allez beaucoup plus élevé en raison de l'espace limité de la pile.

5

Je pensais que je vais ajouter un exemple de code:

import sys 
sys.setrecursionlimit(100000) 

Comme Lizard a noté, par défaut est 1000 pour une raison et l'avertissement est important. Essayer une limite de récursivité élevée sur fibonacci (10000) (return f (n-1) + f (n-2)) était suffisant pour éteindre mon IDE Python. Ne pas avoir reçu l'avertissement «profondeur de récursion atteinte» ne signifie pas que le problème a été résolu.