import random
pote1 = [("Manchester City", "ENG"), ("Bayern de Munique", "GER"), ("Real Madrid", "ESP"),
("PSG", "FRA"), ("Liverpool", "ENG"), ("Inter de Milão", "ITA"),
("Borussia Dortmund", "GER"), ("RB Leipzig", "GER"), ("Barcelona", "ESP")]
pote2 = [("Bayer Leverkusen", "GER"), ("Atlético de Madrid", "ESP"), ("Atalanta", "ITA"),
("Juventus", "ITA"), ("Benfica", "POR"), ("Arsenal", "ENG"),
("Club Brugge", "BEL"), ("Milan", "ITA"), ("Shakhtar Donetsk", "UKR")]
pote3 = [("Feyenoord", "NED"), ("Sporting", "POR"), ("PSV", "NED"),
("Dinamo Zagreb", "CRO"), ("RB Salzburg", "AUT"), ("Lille", "FRA"),
("Estrela Vermelha", "SRB"), ("Young Boys", "SUI"), ("Celtic", "SCO")]
pote4 = [("Slovan Bratislava", "SVK"), ("Monaco", "FRA"), ("Sparta Praga", "CZE"),
("Aston Villa", "ENG"), ("Bologna", "ITA"), ("Girona", "ESP"),
("Stuttgart", "GER"), ("Sturm Graz", "AUT"), ("Brest", "FRA")]
# Lista de todos os potes
todos_os_potes = [pote1, pote2, pote3, pote4]
def pode_jogar(clube1, clube2, adversarios_casa, adversarios_fora):
return (clube2[1] != clube1[1] and
clube2 not in adversarios_casa and
clube2 not in adversarios_fora)
def realizar_sorteio():
adversarios_por_clube = {clube: {'casa': [], 'fora': []} for pote in todos_os_potes for clube in pote}
for pote in todos_os_potes:
for clube in pote:
adversarios_casa = []
adversarios_fora = []
# Adversários para casa
while len(adversarios_casa) < 4:
candidatos = [adversario for pote_2 in todos_os_potes for adversario in pote_2
if pode_jogar(clube, adversario, adversarios_casa, adversarios_fora)]
if candidatos:
selecionado = random.choice(candidatos)
adversarios_casa.append(selecionado)
adversarios_por_clube[clube]['casa'].append(selecionado)
else:
raise ValueError(f"Não há candidatos válidos para {clube[0]} em casa")
# Adversários para fora
while len(adversarios_fora) < 4:
candidatos = [adversario for pote_2 in todos_os_potes for adversario in pote_2
if pode_jogar(clube, adversario, adversarios_casa, adversarios_fora)]
if candidatos:
selecionado = random.choice(candidatos)
adversarios_fora.append(selecionado)
adversarios_por_clube[clube]['fora'].append(selecionado)
else:
raise ValueError(f"Não há candidatos válidos para {clube[0]} fora")
partidas = []
for clube, adversarios in adversarios_por_clube.items():
partidas.append((clube[0], [adversario[0] for adversario in adversarios['casa']],
[adversario[0] for adversario in adversarios['fora']]))
return partidas
sorteio_resultado = realizar_sorteio()
for clube, adversarios_casa, adversarios_fora in sorteio_resultado:
print(f"{clube} enfrentará em casa: {', '.join(adversarios_casa)}")
print(f"{clube} enfrentará fora: {', '.join(adversarios_fora)}")
print()
Comentários
Enviar um comentário