Saltar al contenido

Cuándo no usarla

Python · Unidad 11: Recursión

Si una función nunca llega a su caso base, se llama sin fin. Python no espera para siempre: con unas mil llamadas abiertas se detiene con RecursionError.

def baja(n):
    return baja(n - 1)

try:
    baja(5)
except RecursionError:
    print("Demasiadas llamadas")

Imprime

Demasiadas llamadas

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    ¿Qué imprime este código?

  2. 2. Opción múltiple

    ¿Qué quiere decir un RecursionError?

  3. 3. Encuentra el bug

    Este programa debería imprimir 81, que es 3 elevado a la 4. ¿Qué línea tiene el error?

  4. 4. Encuentra el caso que falla

    suma_hasta(n) debería regresar 1 + 2 + ... + n, o 0 si n es 0 o negativo. ¿Con qué llamada falla?

  5. 5. Opción múltiple

    Tienes que sumar las 10 000 ventas del año, guardadas en una lista. ¿Qué conviene?

  6. 6. Predice la salida

    Este es fact escrito con un ciclo. ¿Qué imprime?

  7. 7. Completa el código

    Esta es cuenta con un ciclo. Completa para que imprima 3, 2, 1 y ¡Despegue!

  8. 8. Ordena las líneas

    Ordena la versión con ciclo de invertir.

  9. 9. Predice la salida

    Aquí la función se llama a sí misma con cada lista de adentro. ¿Qué imprime?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →