Introducción
En Python, a veces necesitamos retrasar la ejecución de una función durante un determinado tiempo. Esto puede ser útil en escenarios donde queremos esperar a que ocurra un determinado evento antes de ejecutar una función. En este desafío, se te pedirá crear una función que retrasela ejecución de otra función durante una cantidad especificada de tiempo.
Ejecución de función retrasada
Escribe una función delay(fn, ms, *args) que tome una función fn, un tiempo en milisegundos ms y cualquier número de argumentos args. La función debe retrasar la ejecución de fn durante ms milisegundos y luego invocarla con los argumentos proporcionados. La función debe devolver el resultado de invocar fn.
Para retrasar la ejecución de fn, utiliza la función time.sleep(). Esta función toma un número de segundos como argumento, por lo que necesitarás convertir ms a segundos antes de pasarlo a time.sleep().
from time import sleep
def delay(fn, ms, *args):
sleep(ms / 1000)
return fn(*args)
delay(lambda x: print(x), 1000, 'later') ## imprime 'later' después de un segundo
Resumen
En este desafío, se te pidió crear una función que retrasara la ejecución de otra función durante una cantidad especificada de tiempo. Aprendiste cómo utilizar la función time.sleep() para retrasar la ejecución de una función y cómo convertir milisegundos a segundos.