我正在尝试编写关于足球小组赛的算法。 例如:我有4个队伍参加比赛。
teams = ['team1', 'team2', 'team3', 'team4']
然后我得到了所有唯一的配对
import itertools
team_pairs = list(itertools.combinations(teams, 2))
我的 team_pairs
是团队之间独特的匹配。
[('team1', 'team2'), ('team1', 'team3'), ('team1', 'team4'), ('team2', 'team3'), ('team2', 'team4'), ('team3', 'team4')]
现在问题是,如何创建所有的比赛轮次呢?例如:
- 第一轮:
('team1', 'team2') ('team3', 'team4')
- 第二轮:
('team1', 'team3') ('team2', 'team4')
- 第三轮:
('team1', 'team4') ('team2', 'team3')
如果有6个或7个队伍,该怎么做呢?请帮忙解答!
或许我的表述不够清晰:
我有11支队伍,我把它们分成了若干组:
- 第一组:['team1', 'team2', 'team3', 'team4']
- 第二组:['team1', 'team2', 'team3', 'team4']
- 第三组:['team1', 'team2', 'team3']
每个小组内的队伍都要和组内的所有其他队伍进行比赛。以其中一个小组为例,它包括以下几支队伍:
teams = ['team1', 'team2', 'team3', 'team4']
胜- 3分 平局- 1分 输- 0分
他们无法同时让每个人都参加比赛。 他们会连续比赛3天。
* first day - team1 vs team2 and team3 vs team4
* second day - team1 vs team3 and team2 vs team4
* third day - team1 vs team4 and team2 vs team3
那么我可以总结一些要点。
但是我实际上不明白如何根据日期将我的团队组(即我的team_pairs)拆分,并确定哪个团队在哪一天参赛。