【发布时间】:2014-02-17 12:56:24
【问题描述】:
我正在尝试为足球小组赛编写算法。 例如:我有 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 支球队做到这一点? 请帮忙!!!
mb 我解释错了:
我有 11 个团队。然后我把它们分成几组。 我有:
- group1: ['team1', 'team2', 'team3', 'team4']
- group2: ['team1', 'team2', 'team3', 'team4']
- group3: ['team1', 'team2', 'team3']
在每个小组中,球队必须与小组中的所有球队一起比赛。 让我们采取 1 组,团队是:
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)以及哪一天比赛的球队。
【问题讨论】:
-
请阅读sscce.org,并提供一个代码示例,说明您到目前为止所尝试的内容,显示您遇到的问题、问题所在或您不理解的地方……
-
您对“回合”的定义非常不清楚。你到底想达到什么目标?你走了多远?
-
回合是比赛日,因此每支球队在
n - 1天的单回合比赛中与其他球队比赛,并且每支球队在每一轮比赛中进行一场比赛。 (后者显然只有在偶数队的情况下才有可能。如果队数为奇数,则应该有一个虚拟队。与虚拟队对战意味着:该队在该轮比赛中没有比赛。) -
在链式选择中生成所有排列或调整天数