|TaskGroup — cancela todo si uno fallaasyncDifícil
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 15:00

info

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

TaskGroup — cancela todo si uno falla

Difícil10 pts·Asíncrono / Promesas
ruleRestricciones
  • radio_button_unchecked
    Usa asyncio.TaskGroup()
  • radio_button_unchecked
    Retorna cancelled_all cuando falla

Enunciado

Implementa task_group_cancel(values) que usa asyncio.TaskGroup para ejecutar una corrutina por cada valor.

  • Los valores negativos lanzan ValueError, lo que cancela todas las tareas del grupo.
  • Si alguna tarea falla, retorna la cadena "cancelled_all".
  • Si todas tienen éxito, retorna la lista de valores originales.
print(task_group_cancel([1, 2, 3]))    # [1, 2, 3]
print(task_group_cancel([1, -1, 3]))   # "cancelled_all"
print(task_group_cancel([-1]))         # "cancelled_all"
print(task_group_cancel([5, 10, 15]))  # [5, 10, 15]
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
TaskGroup — cancela todo si uno falla — Difícil | Coding Challenges · Coding Challenges