from collections import deque
import random
def build_schedule(_teamarr):
scheduleobj = dict.fromkeys(range(1,20))
fixpos = _teamarr[0]
ring = _teamarr[1:]
ring = deque(ring)
#前半赛程,1-19轮(round)
for round in range(1,20):
#第1支球队不动,再加上轮转(rotate)的环
teams = [fixpos] + list(ring)
#切成2列,左边主队,右边客队
home, away = teams[:len(teams)/2],teams[len(teams)/2:]
away = away[::-1]
#随机打乱主客队
scheduleobj[round] = [(x,y) if random.random()>=0.5 else (y,x) for x,y in zip(home,away)]
ring.rotate(1)
#后半赛季对阵跟前半赛季一样,但主客队对调
for round in range(20,39):
scheduleobj[round] = [(y,x) for x,y in scheduleobj[round-19]]
return scheduleobj
if __name__ == '__main__':
teamarr = ['曼联', '阿斯顿维拉', '切尔西', '西汉姆',
'富勒姆',
'热刺', '利物浦', '南安普顿', '埃弗顿', '诺维奇',
'纽卡斯尔', '曼城', '斯托克城', '桑德兰', '水晶宫',
'西布罗姆维奇', '阿森纳', '赫尔城', '卡迪夫城', '斯旺西']
scheduleobj = build_schedule(teamarr)
足球队 循环赛制
最新推荐文章于 2021-06-23 15:37:12 发布