1
resposta

[RESPOSTA]

import asyncio

pedidos = [
    {"id": 101, "pagamento_aprovado": True, "estoque_disponivel": True},
    {"id": 102, "pagamento_aprovado": True, "estoque_disponivel": False},
    {"id": 103, "pagamento_aprovado": False, "estoque_disponivel": True},
    {"id": 104, "pagamento_aprovado": True, "estoque_disponivel": True},
    {"id": 105, "pagamento_aprovado": False, "estoque_disponivel": False},
]

async def processar_pedido(pedido):
    print(f"Processando pedido #{pedido["id"]}...")

    if not pedido["pagamento_aprovado"]:
        print(f"Pagamento recusado para pedido #{pedido["id"]}. Pedido cancelado.")
        return

    if not pedido["estoque_disponivel"]:
        print(f"Pagamento aprovado para pedido #{pedido["id"]}.")
        print(f"Estoque indisponível para pedido #{pedido["id"]}. Pedido cancelado.")
        return

    print(f"Pagamento aprovado para pedido #{pedido["id"]}.")
    print(f"Estoque disponível para pedido #{pedido["id"]}.")
    print(f"Pedido #{pedido["id"]} confirmado! Enviado para entrega.")

async def main():
    tarefas = [asyncio.create_task(processar_pedido(pedido)) for pedido in pedidos[:3]]

    await asyncio.gather(*tarefas)
    print("Todos os pedidos foram processados!.")

if __name__ == "__main__":
    asyncio.run(main())
1 resposta

Bom dia, Maurício! Tudo bem?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de corrotinas com async def para tarefas assíncronas, utilizou muito bem o asyncio.create_task para iniciar múltiplas execuções simultâneas e ainda compreendeu a importância do asyncio.gather para coordenar e aguardar a finalização de todas as tarefas.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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