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 :

itertools combinations -- tirage au sort pour un double mixte


Sujet :

Python

  1. #21
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par 2e8b92 Voir le message
    et vous que feriez-vous?
    Ma proposition est la suivante:
    - conserver la fonction pour générer tous les couples H/F. Démarrer avec un capital de 17 joueurs (0 à 16 -- les chiffres paires pour les hommes et impaires pour les femmes, soit 72 combinaisons sans doublons possible).
    - créer 2 tableaux 'joue_avec' et 'joue_contre_qui'

    Jusque là pourquoi pas sinon que 17 joueurs par équipe de 2 c'est déjà un soucis qui pourrait être traité plus tard...
    Puis:
    - tirer au sort le 1er tuple
    - remplir les 2 tableaux 'joue_avec' et 'joue_contre_qui
    '

    On peut tirer au sort une équipe (H, F) mais on ne va pas savoir contre qui elle va jouer.
    Pourquoi ne pas dire: "on tire au sort 8 équipes de (H, F)" ce seront des tuple. Puis on organise un certain nombre (toujours non défini!!!) de matchs entre les équipes (ce qui fait un deuxième tirage au sort et des tuples d'équipes).
    Ce n'est qu'après qu'on va pouvoir renseigner les informations "a joué avec" et "a joué contre" (quelque soit la forme choisie pour représenter çà).

    Et maintenant on peut recommencer sauf que maintenant les informations "a joué avec" et "a joué contre qui" ne sont plus vides.
    Donc "construire les équipes" et "choisir celles qui jouent contre qui" sera un peu plus compliqué.

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

  2. #22
    Membre averti
    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 : 25
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Février 2018
    Messages : 23
    Par défaut
    salut W,

    Je re-formule ce que j´ai compris:
    - conserver la fonction pour générer tous les couples H/F sans doublons 'liste_couples'.
    - créer les tableaux 'avec_qui', 'contre_qui' et 'parties'
    - créer une fonction 'génération_partie' (sans possibilités pour un joueur de jouer 2 fois) incluant un tableau temporaire 'MaListe'
    - créer une fonction 'remplir_contre_qui'
    - créer une fonction 'verifier_contre_qui'

    Mes données de départ: 17 joueurs (il y aura un exempté à chaque tours) -- 5 parties à jouer (soit 8 équipes par tours)

    Jusqu´ici, c´est bon pour moi,
    Citation Envoyé par wiztricks Voir le message
    On peut tirer au sort une équipe (H, F) mais on ne va pas savoir contre qui elle va jouer.
    Pourquoi ne pas dire: "on tire au sort 8 équipes de (H, F)" ce seront des tuple.
    Ensuite je décroche, par rapport à ce que j´ai formulé ci-dessus, que voulez-vous dire?
    Citation Envoyé par wiztricks Voir le message
    Puis on organise un certain nombre (toujours non défini!!!) de matchs entre les équipes (ce qui fait un deuxième tirage au sort et des tuples d'équipes).
    Sinon le reste est claire pour moi,
    Citation Envoyé par wiztricks Voir le message
    Ce n'est qu'après qu'on va pouvoir renseigner les informations "a joué avec" et "a joué contre" (quelque soit la forme choisie pour représenter çà).
    Et maintenant on peut recommencer sauf que maintenant les informations "a joué avec" et "a joué contre qui" ne sont plus vides.
    Donc "construire les équipes" et "choisir celles qui jouent contre qui" sera un peu plus compliqué.

  3. #23
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par 2e8b92 Voir le message
    Ensuite je décroche, par rapport à ce que j´ai formulé ci-dessus, que voulez-vous dire?
    Citation Envoyé par wiztricks
    Puis on organise un certain nombre (toujours non défini!!!) de matchs entre les équipes (ce qui fait un deuxième tirage au sort et des tuples d'équipes).
    Si on a 8 équipes, on peut organiser 4 matchs 2 contre 2, ou 7 matchs 2 contre les autres. A ce moment là, le deuxième tour devient impossible à faire puisque tout le monde aura joué contre tout le monde.

    Citation Envoyé par 2e8b92 Voir le message
    Mes données de départ: 17 joueurs (il y aura un exempté à chaque tours) -- 5 parties à jouer (soit 8 équipes par tours)
    Vous essayez de construire un algorithme et le code associé qui vous permettra de...
    Et dans "construire", il y a la définition des étapes qui vous permettront de travailler plus confortablement sur les différents aspects du problème.
    Donc commencer par 2 x 4 joueurs, puis généraliser à 2 x 8 puis ajouter des exemptés pourrait être payant pour ne pas vous faire déborder immédiatement par la complexité des choses.

    Citation Envoyé par 2e8b92 Voir le message
    Je re-formule ce que j´ai compris:
    - conserver la fonction pour générer tous les couples H/F sans doublons 'liste_couples'.
    - créer les tableaux 'avec_qui', 'contre_qui' et 'parties'
    - créer une fonction 'génération_partie' (sans possibilités pour un joueur de jouer 2 fois) incluant un tableau temporaire 'MaListe'
    - créer une fonction 'remplir_contre_qui'
    - créer une fonction 'verifier_contre_qui'
    Au final, il faudra bien écrire du code, mais pour l'instant, on ne sait trop rien de ses différents composants sinon qu'il faut créer des équipes puis il faut qu'elles se rencontrent donc il faut créer des matchs/rencontres entre ces équipes et qu'à la fin il faut retenir qui à joué avec qui et qui a joué contre qui pour en tenir compte à l'étape suivante.
    On peut ré-écrire tout çà sous la forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for x in range(4):
         équipes = équipes_créer(hommes, femmes, à_joué_avec)
         matchs = matchs_créer(équipes, à_joué_contre)
         à_joué_avec_mettre_à_jour(à_joué_avec, équipes)
         à_joué_contre_mettre_à_jour(à_joué_contre, matchs)
    mais comme vous n'avez toujours pas d'algo. çà n'avance à pas grand chose car la structure changera probablement en fonction de celui-ci.

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

Discussions similaires

  1. [XL-2003] Formule pour tirage au sort aléatoire
    Par MattLeBlanc dans le forum Excel
    Réponses: 5
    Dernier message: 16/07/2011, 12h20
  2. Aide pour un jeu/tirage au sort sous Flash
    Par stevensf dans le forum Flash
    Réponses: 2
    Dernier message: 30/04/2009, 13h32
  3. Jeu Poker (aide pour tirage au sort de cartes)
    Par Heytabernak dans le forum Langage
    Réponses: 5
    Dernier message: 10/05/2008, 13h41
  4. Tirage au sort pour un tournoi de belote
    Par aldom dans le forum VB.NET
    Réponses: 1
    Dernier message: 24/06/2007, 20h43
  5. Quelle fonction pour faire un tirage au sort de noms
    Par Sofie109 dans le forum VBA Access
    Réponses: 6
    Dernier message: 01/06/2007, 14h52

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