|Decorador @retry que reintenta en caso de excepciónDifícil
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 15:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Decorador @retry que reintenta en caso de excepción

Difícil10 pts·Funciones
ruleRestricciones
  • radio_button_unchecked
    Usa try/except para capturar excepciones
  • radio_button_unchecked
    Usa un bucle para los reintentos

Enunciado

Implementa retry_call(f, max_attempts), una función que intenta ejecutar f() hasta max_attempts veces.

  • Si f() tiene éxito (no lanza excepción), retorna el resultado.
  • Si f() lanza una excepción en todos los intentos, retorna None.

También implementa test_retry(success_on, max_attempts) que crea una función inestable con make_flaky y la pasa a retry_call.

# make_flaky(n) retorna una función que falla n-1 veces y tiene éxito en el n-ésimo intento
print(test_retry(2, 3))  # "ok"  — falla 1 vez, éxito en el 2do intento
print(test_retry(5, 3))  # None  — falla 5 veces, pero solo hay 3 intentos
print(test_retry(1, 3))  # "ok"  — tiene éxito en el primer intento

Usa try/except dentro de un bucle en retry_call.

Restriccionesexpand_more
  • Dificultad: Difícil
  • Completa todos los test cases para obtener los 10 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar print() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
Decorador @retry que reintenta en caso de excepción — Difícil | Coding Challenges · Coding Challenges