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())