import asyncio
import random
jogos = [
{"id": 1, "times": "Flamengo vs Palmeiras"},
{"id": 2, "times": "São Paulo vs Corinthians"},
{"id": 3, "times": "Grêmio vs Internacional"},
]
RESULTADOS = [
"Vitória do Time A",
"Vitória do Time B",
"Empate"
]
# Função assíncrona para definir o resultado do jogo
async def processar_aposta(jogo):
future = asyncio.Future()
print(f"Aposta no jogo {jogo['id']} ({jogo['times']}) registrada! Aguardando resultado...")
# Tempo aleatório entre 2 e 8 segundos
tempo = random.randint(2, 8)
await asyncio.sleep(tempo)
resultado = random.choice(RESULTADOS)
# Define o resultado da aposta
future.set_result(resultado)
print(f"Aposta no jogo {jogo['id']} definida: {future.result()} (após {tempo}s).")
# Função principal
async def main():
tarefas = []
# Criando tarefas assíncronas para cada jogo
for jogo in jogos:
tarefa = asyncio.create_task(processar_aposta(jogo))
tarefas.append(tarefa)
# Aguarda todas as apostas serem concluídas
await asyncio.gather(*tarefas)
print("\nTodos os resultados foram revelados!")
# Executa o programa
asyncio.run(main())