IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Tournoi de double mixte de Tennis


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2018
    Messages : 23
    Points : 2
    Points
    2
    Par défaut Tournoi de double mixte de Tennis
    Bonsoir,

    j´ai une liste de joueurs de tennis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ma_listeH = ["Frank N.","Stéphane","Thomas","Jochen","Frank S.","Bernd","Paul","Marcel"]
    et de joueuses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ma_listeF =  ["Suzanne","Isabelle","Annaig","Jacqueline","Svenja","Heide","Sabine","Carola"]
    je cherche de manière aléatoire à remplir une 3ème liste en associant un homme avec une femme afin qu´ils disputent un tournoi de double mixte

    #############################################
    j´ai trouvé le script ci-dessous mais cela fonctionne avec des nombres et non des noms
    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
    18
    19
    20
    import random  
    ma_liste = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]  
    print(ma_liste)
    # Obtenir un élément au hasard  
    i = random.randint(0, len(ma_liste) - 1)  
    elem = ma_liste[i]  
     
    # Obtenir un ensemble d'élements au hasard  
    nb_elem = 16  
    indices = []  
    while nb_elem > 0:  
        i = random.randint(0, len(ma_liste) -1)  
        while i in indices: # tant que le tirage redonne un nombre déjà choisi  
            i = random.randint(0, len(ma_liste) -1)  
        indices.append(i)
        nb_elem = nb_elem - 1  
    resultat = []  
    for index in indices:  
        resultat.append(ma_liste[index])
    print(indices)
    #############################################

    merci par avance de me guider

    Cordialement,
    Stéphane

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par 2e8b92 Voir le message
    merci par avance de me guider
    Plutôt que de récupérer un code que vous ne comprenez pas, pourquoi ne pas essayer de réfléchir à comment construire une solution à votre problème?

    Prenez vos listes de départ, déjà vous pouvez (1) associer un homme et une femme en associant le premier élément de chaque liste, puis le second, puis le troisième,....
    Cela fait pour ajouter un peu de hasard, la fonction random.shuffle permet de mélanger les listes de départ puis vous recommencez (1)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    une façon de faire parmi d'autres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> listeH = ['Homme1', 'Homme2', 'Homme3']
    >>> listeF = ['Femme1', 'Femme2', 'Femme3']
    >>> import random
    >>> '{z[0][0]}/{z[0][1]} jouent contre {z[1][0]}/{z[1][1]}'.format(
    ...   z = random.sample(
    ...     zip(
    ...       sorted(listeH, key=lambda x:random.random()),
    ...       sorted(listeF, key=lambda x:random.random())
    ...     ), 2))
    'Homme2/Femme1 jouent contre Homme3/Femme2'
    concrètement on trie (sorted()) les listes de départ avec comme clé la fonction random.random(), l'avantage sur random.shuffle() c'est que les listes originelles restent intactes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> listeH = ['Homme1', 'Homme2', 'Homme3']
    >>> sorted(listeH, key=lambda x: random.random())
    ['Homme3', 'Homme1', 'Homme2']
    avec zip() on crée les couples deux à deux avec les deux listes H/F
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> i = ['A', 'B', 'C']
    >>> j = ['1', '2', '3']
    >>> zip(i,j)
    [('A', '1'), ('B', '2'), ('C', '3')]
    enfin avec random.sample() on prend un échantillon aléatoire de ces couples mélangés, le deuxième argument précise combien on veut d'échantillons, ici j'en prends 2 comme ça on a les deux équipes en une passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> random.sample(range(10), 5)
    [8, 1, 2, 6, 0]
    >>> random.sample(range(10), 3)
    [9, 8, 6]

  4. #4
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2018
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    Bonsoir wiztricks,
    puisque vous êtes membre depuis 2008 et de surcroit modérateur, je suppose que vous avez une grande expérience dans le domaine du développement.
    c´est pourquoi je vais maintenant exposer toute l´histoire (en essayant de faire au plus court).
    J´ai réalisé ce script en vb excel (https://www.developpez.net/forums/d1...-mixte-tennis/)
    Malheureusement, j´ai un problème de lenteur, c´est pour cela que je souhaite le re-programmé avec python (choix purement arbitraire basé sur des recherches sur internet).
    Les régles de départ sont simples
    - (1) il y a au moins 16 joueurs (dont 8 hommes et 8 femmes)
    - (2) un homme et une femme forme la paire (2 hommes ou 2 femmes ne peuvent pas jouer ensemble)
    - (3) un joueur ne peut pas être plus d´une fois exempté (pour 17 joueurs inscrits, un ne jouera pas par tours mais jamais le même)
    - (4) un joueur ne peut pas avoir 2 fois le même partenaire
    - (5) chacun joueur ne peut pas avoir 2 fois le(s) même adversaire(s)
    - (6) il y a 4 courts de tennis (donc 4 parties peuvent se jouer simultanément)

    je commencerais par générer la première partie composée de 4 double mixtes + le(s) éventuel(s) exempté(s)

    toujours partant pour aider le débutant python que je suis?

    (de préférence, donnez moi des pistes plutôt que les solutions brutes -- je souhaite comprendre ce qui se passe et surtout savoir le reproduire)

    Merci par avance,
    Stéphane


    Citation Envoyé par wiztricks Voir le message
    Salut,



    Plutôt que de récupérer un code que vous ne comprenez pas, pourquoi ne pas essayer de réfléchir à comment construire une solution à votre problème?

    Prenez vos listes de départ, déjà vous pouvez (1) associer un homme et une femme en associant le premier élément de chaque liste, puis le second, puis le troisième,....
    Cela fait pour ajouter un peu de hasard, la fonction random.shuffle permet de mélanger les listes de départ puis vous recommencez (1)

    - W

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par 2e8b92 Voir le message
    toujours partant pour aider le débutant python que je suis?
    BufferBob vous a déjà donné une partie de la solution.... et le forum EXCEL a déjà codé pour vous une bonne partie de ce que vous attendez en VBA: profitez en traduire cela en Python n'est pas si compliqué. Mais ne comptez pas sur moi pour bosser comme l'ont fait ceux du forum VBA, c'est votre projet... et "Tournoi de double mixte de Tennis" n'est pas une question Python.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2018
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    votre réponse de modérateur est éloquante (pour rester positif), j´espère juste qu´elle n´engage que vous et non la majorité qui eux propose des solutions...

    pour votre gouverne, mon projet "Tournoi de double mixte de Tennis" était fini avant que je demande au forum Excel de l´aide pour optimiser mon code.

    si vous ne voulez pas aider alors pourquoi réagir à mon post si ce n´est pour écrire "Mais ne comptez pas sur moi pour bosser" au lieu d´aider le débutant python que je suis????

    alors que mon message ci-dessous est claire (apparement pas pour vous!!!!!!)

    (de préférence, donnez moi des pistes plutôt que les solutions brutes -- je souhaite comprendre ce qui se passe et surtout savoir le reproduire)

    si vous ne vous sentez pas capable (en une fois, je reste positif dans ma formulation), qui peut me donner des pistes pour avancer et me soutenir au fur et à mesure de l´avancement de mon projet?

    Merci par avance aux futures personnes qui m´aideront...

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par 2e8b92 Voir le message
    si vous ne voulez pas aider alors pourquoi réagir à mon post si ce n´est pour écrire "Mais ne comptez pas sur moi pour bosser" au lieu d´aider le débutant python que je suis????
    Vous vous adressez directement à moi, donc je vous réponds...

    Citation Envoyé par 2e8b92 Voir le message
    alors que mon message ci-dessous est claire (apparement pas pour vous!!!!!!)

    (de préférence, donnez moi des pistes plutôt que les solutions brutes -- je souhaite comprendre ce qui se passe et surtout savoir le reproduire)
    Vous avez déjà un code VBA que vous pouvez essayer de traduire en Python - c'est déjà une piste -, la suggestion de Bufferbob en est une autre...
    Après, à vous de prendre le temps d'essayer de coder votre projet en Python et de poser des questions si vous rencontrez des problèmes. i.e jetez vous à l'eau: l'ordinateur ne vous mordra pas.
    note: si votre préoccupation est d'améliorer l'algorithme du code VBA, la rubrique Algorithmique est aussi là pour çà.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Bonjour,

    Malheureusement, j´ai un problème de lenteur, c´est pour cela que je souhaite le re-programmé avec python (choix purement arbitraire basé sur des recherches sur internet).
    Ça ne devrait pas être une des problématiques annonçant des difficultés de lenteur...

    Les régles de départ sont simples
    - (1) il y a au moins 16 joueurs (dont 8 hommes et 8 femmes)
    - (2) un homme et une femme forme la paire (2 hommes ou 2 femmes ne peuvent pas jouer ensemble)
    - (3) un joueur ne peut pas être plus d´une fois exempté (pour 17 joueurs inscrits, un ne jouera pas par tours mais jamais le même)
    - (4) un joueur ne peut pas avoir 2 fois le même partenaire
    - (5) chacun joueur ne peut pas avoir 2 fois le(s) même adversaire(s)
    - (6) il y a 4 courts de tennis (donc 4 parties peuvent se jouer simultanément)
    Vous avez pourtant bien ciblé toutes les conditions, si ça été fait par vous en VBA, ce problème pourrait être réglé minimum de la même manière en python.

    On pourrait également utiliser itertools et sa méthode combinations

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    from itertools import combinations
    
    # ['homme_0', 'homme_1', 'homme_2', 'homme_3', 'homme_4', 'homme_5', 'homme_6', 'homme_7']
    # ['femme_0', 'femme_1', 'femme_2', 'femme_3', 'femme_4', 'femme_5', 'femme_6', 'femme_7']
    
    HOMMES = ['homme_{}'.format(i) for i in range(8)]
    FEMMES = ['femme_{}'.format(i) for i in range(8)]
    
    ENSEMBLE = HOMMES + FEMMES
    
    def check(p1, p2):
        condition1 = p1.startswith('homme') and p2.startswith('femme')
        condition2 = p1.startswith('femme') and p2.startswith('homme')
        if condition1 or condition2:
            return True
        return False
    
    for couple in combinations(ENSEMBLE, 2):
        pers1, pers2 = couple
        checked = check(pers1, pers2)
        if checked:
            print(couple)
    
    #('homme_0', 'femme_0')
    #('homme_0', 'femme_1')
    #('homme_0', 'femme_2')
    #('homme_0', 'femme_3')
    #('homme_0', 'femme_4')
    #('homme_0', 'femme_5')
    #('homme_0', 'femme_6')
    #('homme_0', 'femme_7')
    #('homme_1', 'femme_0')
    #('homme_1', 'femme_1')
    #('homme_1', 'femme_2')
    #('homme_1', 'femme_3')
    #('homme_1', 'femme_4')
    #('homme_1', 'femme_5')
    #('homme_1', 'femme_6')
    #('homme_1', 'femme_7')
    #('homme_2', 'femme_0')
    #('homme_2', 'femme_1')
    #('homme_2', 'femme_2')
    #('homme_2', 'femme_3')
    #('homme_2', 'femme_4')
    #('homme_2', 'femme_5')
    #('homme_2', 'femme_6')
    #('homme_2', 'femme_7')
    #('homme_3', 'femme_0')
    #('homme_3', 'femme_1')
    #('homme_3', 'femme_2')
    #('homme_3', 'femme_3')
    #('homme_3', 'femme_4')
    #('homme_3', 'femme_5')
    #('homme_3', 'femme_6')
    #('homme_3', 'femme_7')
    #('homme_4', 'femme_0')
    #('homme_4', 'femme_1')
    #('homme_4', 'femme_2')
    #('homme_4', 'femme_3')
    #('homme_4', 'femme_4')
    #('homme_4', 'femme_5')
    #('homme_4', 'femme_6')
    #('homme_4', 'femme_7')
    #('homme_5', 'femme_0')
    #('homme_5', 'femme_1')
    #('homme_5', 'femme_2')
    #('homme_5', 'femme_3')
    #('homme_5', 'femme_4')
    #('homme_5', 'femme_5')
    #('homme_5', 'femme_6')
    #('homme_5', 'femme_7')
    #('homme_6', 'femme_0')
    #('homme_6', 'femme_1')
    #('homme_6', 'femme_2')
    #('homme_6', 'femme_3')
    #('homme_6', 'femme_4')
    #('homme_6', 'femme_5')
    #('homme_6', 'femme_6')
    #('homme_6', 'femme_7')
    #('homme_7', 'femme_0')
    #('homme_7', 'femme_1')
    #('homme_7', 'femme_2')
    #('homme_7', 'femme_3')
    #('homme_7', 'femme_4')
    #('homme_7', 'femme_5')
    #('homme_7', 'femme_6')
    #('homme_7', 'femme_7')
    Avec un dictionnaire donnant un nom pour chaque homme (homme_0: tartanpion, homme_1: toto, ...) et femme, puis un modulo pour séparer chaque partie de 4 doubles mixtes, on s'en sort plutôt pas mal...
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  9. #9
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2018
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    Bonjour fred1599,

    je me lance avec le code ci-dessous (qui ne remplit que les conditions 1 et 2 pour l´instant).
    Pouvez vous me donner des pistes pour l´optimiser?

    Merci par avance

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    #Round1
    from random import randrange
    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"]
    Round1=[]
    NbJoueur=1
    while NbJoueur <9:
        NbItemF=len(NomFemme)
        NbItemH=len(NomHomme)
        NbAleaF = randrange(NbItemF)
        NbAleaH = randrange(NbItemH)
        Round1.append(NomFemme[NbAleaF])
        Round1.append(NomHomme[NbAleaH])
        del NomFemme[NbAleaF]
        del NomHomme[NbAleaH]
        NbJoueur=NbJoueur+1
     
    #Round2
    from random import randrange
    from random import randrange
    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"]
    Round2=[]
    NbJoueur=1
    while NbJoueur <9:
        NbItemF=len(NomFemme)
        NbItemH=len(NomHomme)
        NbAleaF = randrange(NbItemF)
        NbAleaH = randrange(NbItemH)
        Round2.append(NomFemme[NbAleaF])
        Round2.append(NomHomme[NbAleaH])
        del NomFemme[NbAleaF]
        del NomHomme[NbAleaH]
        NbJoueur=NbJoueur+1
     
    #Round3
    from random import randrange
    from random import randrange
    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"]
    Round3=[]
    NbJoueur=1
    while NbJoueur <9:
        NbItemF=len(NomFemme)
        NbItemH=len(NomHomme)
        NbAleaF = randrange(NbItemF)
        NbAleaH = randrange(NbItemH)
        Round3.append(NomFemme[NbAleaF])
        Round3.append(NomHomme[NbAleaH])
        del NomFemme[NbAleaF]
        del NomHomme[NbAleaH]
        NbJoueur=NbJoueur+1
     
    #Round4
    from random import randrange
    from random import randrange
    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"]
    Round4=[]
    NbJoueur=1
    while NbJoueur <9:
        NbItemF=len(NomFemme)
        NbItemH=len(NomHomme)
        NbAleaF = randrange(NbItemF)
        NbAleaH = randrange(NbItemH)
        Round4.append(NomFemme[NbAleaF])
        Round4.append(NomHomme[NbAleaH])
        del NomFemme[NbAleaF]
        del NomHomme[NbAleaH]
        NbJoueur=NbJoueur+1
     
    #Round5
    from random import randrange
    from random import randrange
    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"]
    Round5=[]
    NbJoueur=1
    while NbJoueur <9:
        NbItemF=len(NomFemme)
        NbItemH=len(NomHomme)
        NbAleaF = randrange(NbItemF)
        NbAleaH = randrange(NbItemH)
        Round5.append(NomFemme[NbAleaF])
        Round5.append(NomHomme[NbAleaH])
        del NomFemme[NbAleaF]
        del NomHomme[NbAleaH]
        NbJoueur=NbJoueur+1
     
    #Affichage
    from tkinter import *
    fen1 = Tk()
    txt1 = Label(fen1, text ='Round n°1')
    txt2 = Label(fen1, text = Round1[0])
    txt3 = Label(fen1, text = Round1[1])
    txt4 = Label(fen1, text = Round1[2])
    txt5 = Label(fen1, text = Round1[3])
    txt6 = Label(fen1, text = Round1[4])
    txt7 = Label(fen1, text = Round1[5])
    txt8 = Label(fen1, text = Round1[6])
    txt9 = Label(fen1, text = Round1[7])
    txt10 = Label(fen1, text = Round1[8])
    txt11 = Label(fen1, text = Round1[9])
    txt12 = Label(fen1, text = Round1[10])
    txt13 = Label(fen1, text = Round1[11])
    txt14 = Label(fen1, text = Round1[12])
    txt15 = Label(fen1, text = Round1[13])
    txt16 = Label(fen1, text = Round1[14])
    txt17 = Label(fen1, text = Round1[15])
    txt18 = Label(fen1, text ='Round n°2')
    txt19 = Label(fen1, text = Round2[0])
    txt20 = Label(fen1, text = Round2[1])
    txt21 = Label(fen1, text = Round2[2])
    txt22 = Label(fen1, text = Round2[3])
    txt23 = Label(fen1, text = Round2[4])
    txt24 = Label(fen1, text = Round2[5])
    txt25 = Label(fen1, text = Round2[6])
    txt26 = Label(fen1, text = Round2[7])
    txt27 = Label(fen1, text = Round2[8])
    txt28 = Label(fen1, text = Round2[9])
    txt29 = Label(fen1, text = Round2[10])
    txt30 = Label(fen1, text = Round2[11])
    txt31 = Label(fen1, text = Round2[12])
    txt32 = Label(fen1, text = Round2[13])
    txt33 = Label(fen1, text = Round2[14])
    txt34 = Label(fen1, text = Round2[15])
    txt35 = Label(fen1, text ='Round n°3')
    txt36 = Label(fen1, text = Round3[0])
    txt37 = Label(fen1, text = Round3[1])
    txt38 = Label(fen1, text = Round3[2])
    txt39 = Label(fen1, text = Round3[3])
    txt40 = Label(fen1, text = Round3[4])
    txt41 = Label(fen1, text = Round3[5])
    txt42 = Label(fen1, text = Round3[6])
    txt43 = Label(fen1, text = Round3[7])
    txt44 = Label(fen1, text = Round3[8])
    txt45 = Label(fen1, text = Round3[9])
    txt46 = Label(fen1, text = Round3[10])
    txt47 = Label(fen1, text = Round3[11])
    txt48 = Label(fen1, text = Round3[12])
    txt49 = Label(fen1, text = Round3[13])
    txt50 = Label(fen1, text = Round3[14])
    txt51 = Label(fen1, text = Round3[15])
    txt52 = Label(fen1, text ='Round n°4')
    txt53 = Label(fen1, text = Round4[0])
    txt54 = Label(fen1, text = Round4[1])
    txt55 = Label(fen1, text = Round4[2])
    txt56 = Label(fen1, text = Round4[3])
    txt57 = Label(fen1, text = Round4[4])
    txt58 = Label(fen1, text = Round4[5])
    txt59 = Label(fen1, text = Round4[6])
    txt60 = Label(fen1, text = Round4[7])
    txt61 = Label(fen1, text = Round4[8])
    txt62 = Label(fen1, text = Round4[9])
    txt63 = Label(fen1, text = Round4[10])
    txt64 = Label(fen1, text = Round4[11])
    txt65 = Label(fen1, text = Round4[12])
    txt66 = Label(fen1, text = Round4[13])
    txt67 = Label(fen1, text = Round4[14])
    txt68 = Label(fen1, text = Round4[15])
    txt69 = Label(fen1, text ='Round n°5')
    txt70 = Label(fen1, text = Round5[0])
    txt71 = Label(fen1, text = Round5[1])
    txt72 = Label(fen1, text = Round5[2])
    txt73 = Label(fen1, text = Round5[3])
    txt74 = Label(fen1, text = Round5[4])
    txt75 = Label(fen1, text = Round5[5])
    txt76 = Label(fen1, text = Round5[6])
    txt77 = Label(fen1, text = Round5[7])
    txt78 = Label(fen1, text = Round5[8])
    txt79 = Label(fen1, text = Round5[9])
    txt80 = Label(fen1, text = Round5[10])
    txt81 = Label(fen1, text = Round5[11])
    txt82 = Label(fen1, text = Round5[12])
    txt83 = Label(fen1, text = Round5[13])
    txt84 = Label(fen1, text = Round5[14])
    txt85 = Label(fen1, text = Round5[15])
    # Mise en page à l'aide de la méthode 'grid' :
    Round=0
    #Round1
    txt1.grid(row =1, column=Round)
    txt2.grid(row =2, column=Round)
    txt3.grid(row =3, column=Round)
    txt4.grid(row =4, column=Round)
    txt5.grid(row =5, column=Round)
    txt6.grid(row =6, column=Round)
    txt7.grid(row =7, column=Round)
    txt8.grid(row =8, column=Round)
    txt9.grid(row =9, column=Round)
    txt10.grid(row =10, column=Round)
    txt11.grid(row =11, column=Round)
    txt12.grid(row =12, column=Round)
    txt13.grid(row =13, column=Round)
    txt14.grid(row =14, column=Round)
    txt15.grid(row =15, column=Round)
    txt16.grid(row =16, column=Round)
    txt17.grid(row =17, column=Round)
    #Round2
    Round=1
    txt18.grid(row =1, column=Round)
    txt19.grid(row =2, column=Round)
    txt20.grid(row =3, column=Round)
    txt21.grid(row =4, column=Round)
    txt22.grid(row =5, column=Round)
    txt23.grid(row =6, column=Round)
    txt24.grid(row =7, column=Round)
    txt25.grid(row =8, column=Round)
    txt26.grid(row =9, column=Round)
    txt27.grid(row =10, column=Round)
    txt28.grid(row =11, column=Round)
    txt29.grid(row =12, column=Round)
    txt30.grid(row =13, column=Round)
    txt31.grid(row =14, column=Round)
    txt32.grid(row =15, column=Round)
    txt33.grid(row =16, column=Round)
    txt34.grid(row =17, column=Round)
    #Round3
    Round=2
    txt35.grid(row =1, column=Round)
    txt36.grid(row =2, column=Round)
    txt37.grid(row =3, column=Round)
    txt38.grid(row =4, column=Round)
    txt39.grid(row =5, column=Round)
    txt40.grid(row =6, column=Round)
    txt41.grid(row =7, column=Round)
    txt42.grid(row =8, column=Round)
    txt43.grid(row =9, column=Round)
    txt44.grid(row =10, column=Round)
    txt45.grid(row =11, column=Round)
    txt46.grid(row =12, column=Round)
    txt47.grid(row =13, column=Round)
    txt48.grid(row =14, column=Round)
    txt49.grid(row =15, column=Round)
    txt50.grid(row =16, column=Round)
    txt51.grid(row =17, column=Round)
    #Round4
    Round=3
    txt52.grid(row =1, column=Round)
    txt53.grid(row =2, column=Round)
    txt54.grid(row =3, column=Round)
    txt55.grid(row =4, column=Round)
    txt56.grid(row =5, column=Round)
    txt57.grid(row =6, column=Round)
    txt58.grid(row =7, column=Round)
    txt59.grid(row =8, column=Round)
    txt60.grid(row =9, column=Round)
    txt61.grid(row =10, column=Round)
    txt62.grid(row =11, column=Round)
    txt63.grid(row =12, column=Round)
    txt64.grid(row =13, column=Round)
    txt65.grid(row =14, column=Round)
    txt66.grid(row =15, column=Round)
    txt67.grid(row =16, column=Round)
    txt68.grid(row =17, column=Round)
    #Round3
    Round=4
    txt69.grid(row =1, column=Round)
    txt70.grid(row =2, column=Round)
    txt71.grid(row =3, column=Round)
    txt72.grid(row =4, column=Round)
    txt73.grid(row =5, column=Round)
    txt74.grid(row =6, column=Round)
    txt75.grid(row =7, column=Round)
    txt76.grid(row =8, column=Round)
    txt77.grid(row =9, column=Round)
    txt78.grid(row =10, column=Round)
    txt79.grid(row =11, column=Round)
    txt80.grid(row =12, column=Round)
    txt81.grid(row =13, column=Round)
    txt82.grid(row =14, column=Round)
    txt83.grid(row =15, column=Round)
    txt84.grid(row =16, column=Round)
    txt85.grid(row =17, column=Round)
    # démarrage :
    fen1.mainloop()

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par 2e8b92 Voir le message
    Je me lance avec le code ci-dessous (qui ne remplit que les conditions 1 et 2 pour l´instant).
    Pouvez vous me donner des pistes pour l´optimiser?
    Si optimiser, c'est écrire çà en moins de lignes: facile en utilisant les boucles for et while...

    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
    18
    19
    20
    21
    22
    from random import random
    import tkinter as tk
     
    FEMMES = ["Susanne","Isabelle","Annaig","Jaqueline","Svenja","Heide","Sabine","Carola","Soazic","Nolwenn","Birgit"]
    HOMMES = ["Frank N.","Stephane","Thomas","Jochen","Frank S.","Bernd","Paul","Marcel","Marcus","Alexander"]
    COUNT = 6
    rounds = []
    for r in range(COUNT):
        teams = [ (h, f) for h, f in zip(
                                 sorted(HOMMES, key=lambda x: random()),
                                 sorted(FEMMES, key=lambda x: random())) ]
        rounds.append(teams)
     
    root = tk.Tk()
    for column, teams in enumerate(rounds):
        tk.Label(root, text='Round %d' % (column+1)).grid(row=0, column=column)
        for ix, (h, f) in enumerate(teams):
            row = 2 * ix
            tk.Label(root, text=h).grid(row=row, column=column)
            row += 1
            tk.Label(root, text=f).grid(row=row, column=column)
    tk.mainloop()
    Et côté "pistes", déjà ouvrir un tuto. pour apprendre les constructions de base du langage, çà serait top.
    nota, dans mon code, j'ai utilisé la suggestion de Bufferbob (une piste que vous avez laissé tomber...).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2018
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    j´ai commencé avec : Apprendre à programmer avec Python 3 par Gérard Swinnen

    et c´est vrai que je ne me suis pas encore servi de la suggestion Bufferbob, ce qui sera fait lorsque je la comprendrais.

    je vous rappel que vous avez à faire avec un débutant.

  12. #12
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Pourquoi ne pas apprendre sur le tas ?

    Décortiquons !

    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
    18
    from random import random
    
    
    HOMMES = ["Frank N.","Stephane","Thomas","Jochen","Frank S.","Bernd","Paul","Marcel","Marcus","Alexander"]
    HOMMES_RAND = sorted(HOMMES, key=lambda x: random())
    print(HOMMES_RAND)
    
    
    #Alexander
    #Stephane
    #Bernd
    #Jochen
    #Paul
    #Frank S.
    #Thomas
    #Marcus
    #Frank N.
    #Marcel
    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
    18
    19
    20
    21
    from random import random
    
    
    HOMMES = ["Frank N.","Stephane","Thomas","Jochen","Frank S.","Bernd","Paul","Marcel","Marcus","Alexander"]
    FEMMES = ["Susanne","Isabelle","Annaig","Jaqueline","Svenja","Heide","Sabine","Carola","Soazic","Nolwenn","Birgit"]
    
    HOMMES_RAND = sorted(HOMMES, key=lambda x: random())
    
    for elem in zip(HOMMES_RAND, FEMMES):
        print('#' + repr(elem))
    
    #('Bernd', 'Susanne')
    #('Marcus', 'Isabelle')
    #('Paul', 'Annaig')
    #('Marcel', 'Jaqueline')
    #('Frank N.', 'Svenja')
    #('Thomas', 'Heide')
    #('Alexander', 'Sabine')
    #('Jochen', 'Carola')
    #('Frank S.', 'Soazic')
    #('Stephane', 'Nolwenn')
    Vous découvrez, c'est l'apprentissage standard. Que faîtes vous quand vous avancez dans votre tutoriel ?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par 2e8b92 Voir le message
    C'est un bon tuto. très bon choix.

    Citation Envoyé par 2e8b92 Voir le message
    je vous rappel que vous avez à faire avec un débutant.
    Est-ce que vous ne demandez de l'aide pour comprendre des notions du langage à utiliser pour faire l'exercice d'un tuto. ? Non, vous essayez de programmer des choses compliquées où avoir acquis ces notions là avant de s'y risquer est indispensable.
    Relisez mon code, : "for", "enumerate",... c'est dans les premiers chapitres.
    note: et relisez les règles des forums: ce n'est qu'après avoir essayé de comprendre grâce aux tutos mis à disposition (le Swinnen est aussi ici) que vous postez des questions sur ce que vous n'avez pas compris.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  14. #14
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2018
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2018
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    bonjour,

    après avoir (re)lu de nombreux tuto, j´en suis arrivé à ce point ci-dessous dans mon développement.
    les règles 1 et 2 sont respectées, la 3 est en cours et la 4 viendra.
    voyez-vous quelque chose à améliorer avant que je continu?
    merci par avance

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    import time 
    tmps1=time.time()
    ################################################################
    # Tournoi de Tennis : double mixte
    ################################################################
    # Règles:
    # 1 - Au moins 16 joueurs dont 8 femmes et 8 hommes
    # 2 - un joueur ne peut être exempté qu´une seule fois
    # 3 - chaque paire ne peut être formée qu´une seule fois
    # 4 - on ne joue qu´une seule fois contre les même adversaires
    ################################################################
    #
    ################################################################
    # Génération du jeu n°1
    ################################################################
    from random import randrange
    Rounds=[]
    Exempt=[]
    NbRound=5
    CurrentRound = 1
    #NomFemme = ["Susanne","Isabelle","Annaig","Jaqueline","Svenja","Heide","Sabine","Carola","Soazic","Nolwenn","Birgit"]
    NomFemme = ["Susanne","Isabelle","Annaig","Jaqueline","Svenja","Heide","Sabine","Carola","Soazic","Nolwenn"]
    #NomHomme = ["Frank N.","Stephane","Thomas","Jochen","Frank S.","Bernd","Paul","Marcel","Marcus","Alexander"]
    NomHomme = ["Frank N.","Stephane","Thomas","Jochen","Frank S.","Bernd","Paul","Marcel","Marcus"]
    NbPlayer = len(NomFemme) + len(NomHomme)
    TennisPlace = int(NbPlayer / 4)
    NbExempt = NbPlayer - TennisPlace * 4
    ExemptF = len(NomFemme) - TennisPlace * 2
    ExemptH = len(NomHomme) - TennisPlace * 2
    while len(NomFemme) or len(NomHomme) > 0:
        if len(NomFemme) > 0:
            NbAleaF = randrange(len(NomFemme))
            Rounds.append(NomFemme[NbAleaF])
            del NomFemme[NbAleaF]
        if len(NomHomme) > 0:
            NbAleaH = randrange(len(NomHomme))
            Rounds.append(NomHomme[NbAleaH])
            del NomHomme[NbAleaH]
    ################################################################
    # Fonction CheckExempt : vérifie si un joueur a déjà été exempté
    ################################################################
    def checkexempt(prenom):
        for j in range(2, CurrentRound + 1):
            depart = NbPlayer * (j - 1) - NbExempt
            arrivee = NbPlayer * (j - 1) - 1
            for i in range(depart, arrivee + 1):
                if Rounds[i] == prenom:
                    Trouve = True
                    return Trouve
        Trouve = False
        return Trouve
    ################################################################
    # Fonction CheckPartenaire : vérifie si un joueur a déjà eu le même partenaire
    ################################################################
    def checkpartenaire(prenom1, prenom2):
        for j in range(2, CurrentRound + 1):
            depart = NbPlayer * (j - 2)
            arrivee = NbPlayer * (j - 1) - 2
            for i in range(depart, arrivee + 1,2):
                if (Rounds[i] + Rounds[i+1] == prenom1 + prenom2) or (Rounds[i] + Rounds[i+1] == prenom2 + prenom1):
                    print(depart,arrivee,Rounds[i],Rounds[i+1],prenom1,prenom2,i,j)
                    Trouve = True
                    return Trouve
        Trouve = False
        return Trouve
    ################################################################
    # Fonction CheckAdversaire : vérifie si un joueur a déjà eu les même adversaires
    ################################################################
    #def CheckAdversaire(prenom1, prenom2):
     
    ################################################################
    # Génération des jeux suivants
    ################################################################
    for CurrentRound in range (2, NbRound + 1):
        #NomFemme = ["Susanne","Isabelle","Annaig","Jaqueline","Svenja","Heide","Sabine","Carola","Soazic","Nolwenn","Birgit"]
        NomFemme = ["Susanne","Isabelle","Annaig","Jaqueline","Svenja","Heide","Sabine","Carola","Soazic","Nolwenn"]
        #NomHomme = ["Frank N.","Stephane","Thomas","Jochen","Frank S.","Bernd","Paul","Marcel","Marcus","Alexander"]
        NomHomme = ["Frank N.","Stephane","Thomas","Jochen","Frank S.","Bernd","Paul","Marcel","Marcus"]
    # Trouver les femmes exemptées
        for i in range(1, int(ExemptF) + 1):
            Trouve = True
            while Trouve == True:
                Trouve = False
                NbAleaF = randrange(len(NomFemme))
                Trouve = checkexempt(NomFemme[NbAleaF])
            if Trouve == False:
                Exempt.append(NomFemme[NbAleaF])
                del NomFemme[NbAleaF]
    # Trouver les hommes exemptés
        for i in range(1, int(ExemptH) + 1):
            Trouve = True
            while Trouve == True:
                Trouve = False
                NbAleaH = randrange(len(NomHomme))
                Trouve = checkexempt(NomHomme[NbAleaH])
            if Trouve == False:
                Exempt.append(NomHomme[NbAleaH])
                del NomHomme[NbAleaH]
    # Trouver les joueurs non exemptés
        while len(NomFemme) or len(NomHomme) > 0:
    # Trouver les femmes non exemptées
            Trouve = True
            while Trouve == True:
                moncpt = 0
                Trouve = False
                if len(NomFemme) > 0:
                    moncpt += 1
                    NbAleaF = randrange(len(NomFemme))
                    prenom1 = NomFemme[NbAleaF]
    # Trouver les hommes non exemptés
                if len(NomHomme) > 0:
                    moncpt += 1
                    NbAleaH = randrange(len(NomHomme))
                    prenom2 = NomHomme[NbAleaH]
                    Trouve = checkpartenaire(prenom1, prenom2)
            if Trouve == False:
                    Rounds.append(NomFemme[NbAleaF])
                    Rounds.append(NomHomme[NbAleaH])
                    del NomFemme[NbAleaF]
                    del NomHomme[NbAleaH]
    # Ajouter les joueurs exemptés au tableau des jeux
        i = 0
        while len(Exempt) > 0:
            Rounds.append(Exempt[i])
            del Exempt[i]
    ################################################################
    tmps2=time.time()-tmps1
    print ("Temps d'execution = %f" %tmps2)
    ################################################################
    # Affichage des jeux et combinaisons de joueurs
    ################################################################
    from tkinter import * 
    fenetre = Tk()
    for colonne in range(CurrentRound):          
        for ligne in range(NbPlayer):
            Label(fenetre, text='%s-%s' % (Rounds[ligne + NbPlayer * colonne], colonne), borderwidth=1).grid(row=ligne, column=colonne)
    fenetre.mainloop()

Discussions similaires

  1. [Toutes versions] Tournoi de double mixte de Tennis
    Par 2e8b92 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 10/03/2018, 09h32
  2. [Turbo Pascal] Gestion de tournoi de tennis de table
    Par Alcatîz dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 11/11/2010, 15h28
  3. Creation tableau double entrée - erreurs types mixtes
    Par Kick and run dans le forum C++/CLI
    Réponses: 2
    Dernier message: 03/05/2010, 16h49
  4. String -> long double (_strlold ?)
    Par haypo dans le forum C
    Réponses: 7
    Dernier message: 25/07/2002, 20h22
  5. Réponses: 3
    Dernier message: 12/06/2002, 21h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo