FFixtureLinden
Продукт

Возможности программы · Расписание кругового турнира

01

Разберите в FixtureLinden пары одного тура и ротацию, обеспечивающую каждой паре одну встречу.

01

Подключение

Базовый URL, учётные данные и доступный сервер.

02

Выбор

Модель, которую предоставляет настроенный endpoint.

03

Возможности

Объём контекста и поддержка инструментов определяются моделью и сервером.

Расписание кругового турнира

● ● ●FixtureLinden●
Конкретная отправная точка · Расписание кругового турнира ×
def round_robin(ids):
    players = list(ids)
    if not 2 <= len(players) <= 32 or any(type(v) is not int or abs(v) > 10**9 for v in players):
        raise ValueError("players.range")
    if len(set(players)) != len(players):
        raise ValueError("players.duplicate")
    if len(players) % 2:
        players.append(None)
    rounds = []
    for _ in range(len(players)-1):
        pairs = [(players[i], players[-1-i]) for i in range(len(players)//2)
                 if players[i] is not None and players[-1-i] is not None]
        rounds.append(pairs)
        players = [players[0], players[-1], *players[1:-1]]
    return rounds
✳Составьте туры для 2–32 различных целочисленных идентификаторов игроков так, чтобы каждая пара встретилась однажды.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗