[pyar] Recursividad: Para entenderla, primero hay que entenderla

Juanjo Conti jjconti en gmail.com
Mie Mayo 4 00:16:11 ART 2011


2011/5/4 Martin Cerdeira <martincerdeira en gmail.com>:
> RuntimeError: maximum recursion depth exceeded in cmp
>
> Pregunta: Sé que esto debe estar para que no se muerda el mundo y demás,
> pero, que onda si quiero usar una recursividad que supera ese límite
> impuesto por python, y yo se que está bien que lo supere?
>
> Googlie por ahi y vi que decian que:
>
> sys.setrecursionlimit(aca_pones_el_numerito)
>
> Pero, y si yo sé que supera el límite default, pero, a priori, no supiera en
> qué medida lo haría como para setearselo?? Que se hace? No se usa
> recursividad y lloramos? =)

Qué tal esto (se me ocurrió luego de leer tu mail casi ya llendo a
dormir, asi que tomalo con precaución):

N = max recursion definido por Python
try:
    funcion_que_se_llama_a_si_misma()
except RuntimeError:
    N *= 2
    sys.setrecursionlimit(N)

Tiene problemas por ejemplo si la función recursiva no es idempotente
o algó así.
-- 
Juanjo Conti
blog: http://www.juanjoconti.com.ar



More information about the pyar mailing list