Recursión Infinita

Una recursión infinita casi siempre hará que el programa se ejecute un rato y luego provoque un error de Máximum recursión depth exceeded.

Si sospecha que una función o un método esta causando una recursión infinita, comience por asegurarse de que hay un caso básico. En otras palabras, debería haber una condición que haga que la función devuelva un valor sin hacer otra llamada recursiva. Si no, necesita revisar el algoritmo y encontrar ese caso básico.

Si hay un caso básico pero el programa no parece llegar hasta el, añada una sentencia print que imprima los parámetros al principio de la función o método.

Cuando ahora ejecute el programa, vera unas pocas líneas cada vez que se invoque la función o método y allí vera los parámetros. Si los parámetros no se acercan al caso básico, eso le dará alguna idea de por que no lo hace.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s