Python 2.6 を使用しています。
私のコードはここで編集して実行できます: http://www.codeskulptor.org/#user12_OQL53Z5Es8yDHRB.py
# set the arguments
teams = 4
rounds = 2 * (teams - 1)
# show the arguments
print teams, "teams"
print rounds, "rounds"
# season is a list of lists
# each sub list is a round
season = rounds*["round"]
# store the first round in season[0]
round = range(1, teams + 1)
season[0] = round[:]
# store the other rounds in season
for j in range(1, rounds):
round2 = round[:]
round2[1] = round[teams - 1]
for i in range(2, teams):
round2[i] = round[i - 1]
season[j] = round2[:]
round = round2
# print the season
print season
4 つのチームがあり、全員が各チームを 2 回プレイする場合、[1, 2, 3, 4]、[1, 4, 2, 3]、[1, 3, 4, 2]、[1, 2、3、4]、[1、4、2、3]、[1、3、4、2]]。チーム 1 はその場にとどまり、他のチームはローテーションします。チーム 1 と、チーム 1 の次の位置に移動するリストの最後のチームを除いて、すべてのチームが 1 つ右に移動します。
上記のコードが機能すると思います。私は Python の初心者なので、より優れた、またはより洗練されたコードを探しています。
ありがとうございました!