1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
# -*- coding: cp1252 -*-
import copy
def pprint (L): # seulement pour un bel affichage
for i in range (0,len(L)):
print L[i]
return
def supprime( L, i, j):# enlève les éléments d'indice i et j de la liste L
R=[]
for k in range(0,len(L)):
if ((k!=i)and(k!=j)):
R.append(L[k])
return R
def Rencontres (L): # renvoie la liste des possibilités de rencontres
S=[]
if len(L)==2:
return [[L]] # terminaison de la récursivité deux joueurs= une seule rencontre
else:
for i in range (1,len(L)):
R=Rencontres(supprime(L,0,i))#appel récursif
for j in range (0, len(R)):
T=R[j]
T.append([L[0],L[i]])
S.append(T)
return S
pprint (Rencontres ([1,2,3,4, 5 ,6,7,8])) |
Partager