Bonjour,

Connaissant les règles suivantes:
- double mixte
- 5 parties à disputées
- un homme ne peut jouer qu´une seule fois avec la même partenaire
- un couple ne peut rencontrer et jouer qu´une seule fois contre le(s) même(s) adversaire(s)

je cherche à effectuer un tirage au sort pour l´organisation d´un double mixte. J´ai réussi en passant par la génération d´un tableau ou j´élimine les tuples (paires/paires et impaires/impaires).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
NomFemme = ["Susanne","Isabelle","Annaig","Jaqueline","Svenja","Heide","Sabine","Carola","Soazic","Nolwenn","Birgit"]
NomHomme = ["Frank N.","Stephane","Thomas","Jochen","Frank S.","Bernd","Paul","Marcel","Marcus","Alexander"]
nbjoueur=len(NomFemme)+len(NomHomme)
from itertools import combinations
A=list(combinations(list(range(1,nbjoueur)),2))
lenA=len(A)-1
while lenA!=-1:
    B=list(A[lenA])
    if B[0]%2 != 0 and B[1]%2 != 0:
        del A[lenA]
    if B[0]%2 == 0 and B[1]%2 == 0:
        del A[lenA]
    lenA-=1
print("Liste des couples:",A)
print("Nombre de couples",len(A))
voyez-vous de l´optimisation avant que je poursuive?

Cordialement,