1
resposta

[Projeto] Sistema de apostas

passe o confronto dos times para uma variável que escolhia aleatóriamente no print:

import random
import asyncio

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", "Empate"]

async def processar_aposta(jogo, futuro):
    print(f"Aposta no jogo {jogo['id']} ({jogo['times']}) registrada! Aguardando resultado...\n")
    tempo = random.randint(2,8)
    time = jogo['times'].split(" vs ")
    await asyncio.sleep(tempo)
    resultado = random.choice([f"Vitória do {random.choice(time)}",f"Vitória do {random.choice(time)}", f"Empate"])
    futuro.set_result(resultado)

    if resultado == "Empate":
        print(f"Aposta no jogo {jogo['id']} definida: Empate (após {tempo}s).")
    else:
        print(f"Aposta no jogo {jogo['id']} definida: {resultado} (após {tempo}s).")

    print("Todos os resultados foram revelados!")

async def main():
    futuros = [asyncio.Future() for _ in jogos]
    tarefas = [asyncio.create_task(processar_aposta(jogos[i], futuros[i])) for i in range(len(jogos))]
    await asyncio.gather(*tarefas)

await main()
1 resposta

Oi, Vinícius! Como vai?

Agradeço por compartilhar.

Gostei da forma como você separou os times usando split(" vs ") e utilizou asyncio junto com Future para simular o processamento das apostas. Isso mostra um bom entendimento de concorrência e também de como deixar o resultado dinâmico com random.choice, o que deixa o sistema mais interessante.

Uma dica interessante para o futuro é usar o random.choices para controlar melhor a probabilidade dos resultados.


import random

times = ["Flamengo", "Palmeiras"]

resultado = random.choices(
    [f"Vitoria do {times[0]}", f"Vitoria do {times[1]}", "Empate"],
    weights=[2, 2, 1]
)[0]

print(resultado)

Esse código escolhe um resultado com pesos diferentes, permitindo que vitórias sejam mais prováveis que empate, o que pode deixar sua simulação mais realista.

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