1
resposta

[Dúvida] Esta conforme ?

import asyncio
import random


async def temperatura():
    print("Medindo temperatura...")
    await asyncio.sleep(2)
    temp = random.randint(20, 30)

    if temp < 20:
        print("Temperatura: menor")
    elif 20 <= temp < 30:
        print("Temperatura: normal")
    else:
        print("Temperatura: maior")


async def umidade():
    print("Medindo umidade...")
    await asyncio.sleep(4)
    umidade = random.randint(50, 70)

    if umidade < 50:
        print("Umidade: menor")
    elif 50 <= umidade < 70:
        print("Umidade: normal")
    else:
        print("Umidade: maior")


async def qualidade_do_ar():
    print("Medindo qualidade do ar...")
    await asyncio.sleep(6)
    qualidade = random.choice(["Boa", "Regular", "Ruim"])
    print("Qualidade do ar: {}".format(qualidade))


async def main():
    await asyncio.gather(
        temperatura(),
        umidade(),
        qualidade_do_ar()
    )


asyncio.run(main())
1 resposta

Oi, Samuel! Como vai?

Agradeço por compartilhar.

Gostei da sua implementação, importante como você utilizou o asyncio.gather pra executar as medições de forma assíncrona, seguindo bem a proposta da atividade de simulação de sensores ambientais. Do jeito que você explicou no código, as funções representam corretamente tarefas independentes e com tempos diferentes de execução, o que está conforme o conteúdo da aula.

Continue praticando esse modelo de pensamento assíncrono, ele ajuda bastante a entender cenários reais de concorrência.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!