解决这个问题的一种常见方法是使用字典来记录每个队伍的分数,并使用分数作为键,队伍名作为值。然后遍历字典,找到分数相同的队伍。以下是一个示例代码:
def find_duplicates(teams):
scores = {} # 用于记录每个队伍的分数
duplicates = [] # 用于存储重复的队伍
for team, score in teams.items():
if score in scores:
duplicates.append((scores[score], team)) # 将重复的队伍添加到结果中
else:
scores[score] = team
return duplicates
# 测试代码
teams = {
'Team A': 10,
'Team B': 15,
'Team C': 20,
'Team D': 10,
'Team E': 15,
'Team F': 20
}
duplicates = find_duplicates(teams)
for team1, team2 in duplicates:
print(f"{team1} 和 {team2} 的分数相同")
输出结果:
Team A 和 Team D 的分数相同
Team B 和 Team E 的分数相同
Team C 和 Team F 的分数相同
在这个示例中,我们使用字典scores
来记录每个队伍的分数。遍历teams
字典,对于每个队伍,如果分数已经在scores
字典中存在,则将当前队伍和已存在的队伍添加到duplicates
列表中。否则,将当前队伍的分数和队伍名添加到scores
字典中。
最后,我们遍历duplicates
列表,打印出重复分数的队伍。