参加者が奇数の場合について何を指定すべきですか?
呼び出し側が明示的な不戦を期待するのか、そのラウンドで単に対戦がないことを期待するのか説明し、出力例を含めます。実装内のプレースホルダーが、表示される日程に誤って漏れ出ないようにしてください。
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 roundsdef 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日程の出力には、もっともらしい一覧以上のものが必要です。FixtureLindenは、アプリケーションがその出力をどう構築し利用するかをレビューするWindows向けAIコーディングワークスペースです。参加者データ、日程関数、期待するラウンド構成を対話に含め、変更を提案する前に現行実装を調べるよう接続先モデルに依頼します。
総当たりの対戦表生成は具体的なプロジェクト課題になります。各組が1回対戦するのか、参加者が奇数の場合にどう扱うか、識別子が一意であるべきかを指定します。表示規則は組み合わせ生成と分け、それらの要件に結び付いた提案を求めてください。扱うのは自分の日程作成ソフトウェアであり、付属のイベント管理サービスではありません。
編集後は網羅性を直接レビューします。すべての対戦組を確認し、自己対戦を防ぎ、不戦が呼び出し側にどう現れるか検証するプロジェクトのチェックを実行してください。奇数と偶数の参加者数を含め、入力順が保持されるのか意図的に変換されるのかも調べます。見た目に均衡の取れたラウンドだけでは、日程全体が意図する対戦を含む証明にはなりません。
FixtureLindenはOpenAI互換とAnthropicのモデルエンドポイントに対応します。設定したサービスが提供する場合、拒否抑制を解除したAIモデルを選べますが、そのコンテキスト容量、制限、ツールの条件に従います。その支援で要件を検査できる形にし、自分のプロジェクトのチェックで提案を検証してください。
呼び出し側が明示的な不戦を期待するのか、そのラウンドで単に対戦がないことを期待するのか説明し、出力例を含めます。実装内のプレースホルダーが、表示される日程に誤って漏れ出ないようにしてください。
生成された順序を区別しない対戦組を、期待する参加者の組み合わせと比較し、件数を確認します。自己対戦と重複対戦も調べてください。ラウンドごとの目視確認では、日程全体で同じ組が2回現れることを見逃す場合があります。
まずアプリケーションで同一性が何を意味するか決めます。識別子が参加者を区別するなら、重複は対戦の網羅性を曖昧にします。意図した検証を維持するよう依頼し、拒否された入力を呼び出し側がどう報告するか確認してください。
それらは固有のデータと規則が必要な追加要件です。プロジェクトが明示的に含めない限り、基本の組み合わせ生成とは分けてください。総当たりの網羅性から当然に得られると考えず、具体的な制約に照らして拡張案をレビューします。
FixtureLinden · 更新日 2026-10-25