0

我对循环赛的工作方式非常熟悉,现在我正在尝试实现一个函数(Python 可以正常工作)来创建循环赛匹配,以说明玩家在锦标赛期间第一次参加比赛的次数

理想情况下,我希望每个人都开始相同的回合数(如果是玩家,则为±1),并拥有告诉我这一点的功能,而无需我手动进行调整。

编辑:这是我迄今为止的尝试,创建一个判别式以某种方式“随机化”第一个玩家,但通常不起作用

import random

def get_rr_rounds(players):
    """
    players = ["Player1", "Player2", "Player3","Player4", "Player5", "Player6"]
    """
    if len(players) % 2:
        players.append('DUMMY')

    n = len(players)

    matchs = []
    rounds = []

    discriminant = random.choice([0, 1])

    for round in range(1, n):
        for i in range(n//2):
            if (round % 2 == discriminant):
                matchs.append((players[i], players[n - 1 - i]))
            else:
                matchs.append((players[n - 1 - i], players[i]))
        players.insert(1, players.pop())
        rounds.append(matchs)
        matchs = []
    return rounds
4

0 回答 0