from random import *
class Team:
def __init__(self, name, ability):
self.name = name
self.ability = ability
self.wins = 0
self.losses = 0
def simulate_game(self, other_team):
if random() < self.ability:
self.wins += 1
other_team.losses += 1
return True # 表示本队获胜
else:
self.losses += 1
other_team.wins += 1
return False # 表示本队失败
class Tournament:
def __init__(self, teams):
self.teams = teams
self.matches_played = 0
def play_round_robin(self):
for i in range(len(self.teams)):
for j in range(i + 1, len(self.teams)):
team1 = self.teams[i]
team2 = self.teams[j]
winner = team1.simulate_game(team2)
self.matches_played += 1
print(f"Game {self.matches_played}: {team1.name} vs {team2.name}. {'Winner' if winner else 'Loser'}: {team1.name}")
def rank_teams(self):
sorted_teams = sorted(self.teams, key=lambda team: (team.wins, -team.losses, team.name), reverse=True)
print("\nFinal Rankings:")
for rank, team in enumerate(sorted_teams, start=1):
print(f"{rank}. {team.name} - Wins: {team.wins}, Losses: {team.losses}")
# 示例:创建四个球队并模拟循环赛
teams = [
Team("Team A", 0.6),
Team("Team B", 0.5),
Team("Team C", 0.7),
Team("Team D", 0.4)
]
tournament = Tournament(teams)
tournament.play_round_robin()
tournament.rank_teams()