0
respostas

[Dúvida] Minha resolução esta de acordo?

O código dada como solução ao exercício não esta conforme a saída apresentada no enunciado, é um detalhe apenas mas o código apresentado não conta o tempo decorrido desde o inicio do programação. Ao menos, essa foi minha interpretação do que o código deveria fazer ao analisar a saida apresentada.

Desta forma, resolvi a questão assim, gostaria de saber se esta correto:

inicio = time.time()

async def temperatura():
while True:
await asy.sleep(2)
duração = time.time() - inicio
temp = random.choice((15,20,25,30,35))
print(f"[{duração:.0f}s] Temperatura {temp}ºc")

async def umidade():
while True:
await asy.sleep(3)
duração = time.time() - inicio
umi = random.choice((10,20,25,30,35))
print(f"[{duração:.0f}s] Umidade {umi}%")

async def qualidade():
while True:
await asy.sleep(5)
duração = time.time() - inicio
quali = random.choice(('Boa','Regular',"Ruim"))
print(f"[{duração:.0f}s] Qualidade do ar: {quali}")

async def main ():
tarefas = (asy.create_task(temperatura()),asy.create_task(umidade()),asy.create_task(qualidade()))
await asy.gather(*tarefas)

asy.run(main())