Skip to content

Commit 6fa5dc7

Browse files
authored
Merge pull request mouredev#3529 from AlanShakir/patch-17
#15 - Python
2 parents bb41ecb + 54af115 commit 6fa5dc7

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
"""
2+
/*
3+
* EJERCICIO:
4+
* Utilizando tu lenguaje, crea un programa capaz de ejecutar de manera
5+
* asíncrona una función que tardará en finalizar un número concreto de
6+
* segundos parametrizables. También debes poder asignarle un nombre.
7+
* La función imprime su nombre, cuándo empieza, el tiempo que durará
8+
* su ejecución y cuando finaliza.
9+
*
10+
* DIFICULTAD EXTRA (opcional):
11+
* Utilizando el concepto de asincronía y la función anterior, crea
12+
* el siguiente programa que ejecuta en este orden:
13+
* - Una función C que dura 3 segundos.
14+
* - Una función B que dura 2 segundos.
15+
* - Una función A que dura 1 segundo.
16+
* - Una función D que dura 1 segundo.
17+
* - Las funciones C, B y A se ejecutan en paralelo.
18+
* - La función D comienza su ejecución cuando las 3 anteriores han
19+
* finalizado.
20+
*/
21+
"""
22+
import asyncio
23+
24+
async def fun_asyn(name: str, wait_seconds: int):
25+
print(f"La funcion {name}, tiene una duracion de: {wait_seconds}")
26+
await asyncio.sleep(wait_seconds)
27+
print(f"ha finalizado la ejecucion: {name}")
28+
29+
asyncio.run(fun_asyn("Alan Ramirez", 1))
30+
#Extra
31+
32+
async def multitask():
33+
await asyncio.gather(fun_asyn("C", 3), fun_asyn("B", 2), fun_asyn("A", 1))
34+
await fun_asyn("D", 1)
35+
36+
asyncio.run(multitask())

0 commit comments

Comments
 (0)