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_pedidos(pedido):
    print(f"Processando pedido #{pedido['id']}")
    await asyncio.sleep(2)
    if pedido["pagamento_aprovado"]:
        if pedido["estoque_disponivel"]:
            print(f"Pedido #{pedido['id']} confirmado! Enviando para entrega")
        else:
            print(f"Estoque indisponível para pedido #{pedido['id']}. Pedido cancelado.")
    else:
        print(f"Pedido #{pedido['id']} cancelado")

async def main():
    compras = [asyncio.create_task(processar_pedidos(u)) for u in pedidos]
    await asyncio.gather(*compras)
    print("Todos os pedidos foram processados")

asyncio.run(main())

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá, Pedro! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de programação assíncrona com asyncio para simular o processamento paralelo de pedidos, utilizou muito bem o await asyncio.sleep() para representar o tempo de resposta e ainda compreendeu a importância da lógica condicional para validar o status de pagamento e estoque de cada item.

Uma dica interessante para o futuro é adicionar um tempo de resposta variável para cada pedido, simulando cenários mais realistas. Assim:

import random

await asyncio.sleep(random.uniform(1, 3))

Isso faz com que cada pedido leve entre 1 e 3 segundos para ser processado, tornando a simulação mais dinâmica.

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!