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 :

Jeu du pendu


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 5
    Par défaut Jeu du pendu
    Bonjour, je bloque sur mon script python du jeu du pendu. Je ne sais pas comment m'en sortir et apprécierai un petit coup de pouce, merci.
    Voici mon code:
    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
     
    def saisirMot():
        return (raw_input("Choisissez le mot mystère : "))
     
    def proposeLettre():
        return (raw_input("Proposez une lettre: "))
     
    def lettreExiste(motProposer, lettre):
      return (lettre in motMystere)
     
    motProposer=saisirMot()
    motMystere=""
     
    i = 0
    while i < len(motProposer):
        motMystere= motMystere+"_ "
        i=i+1
    print motMystere
     
    lettre=proposeLettre()
     
    if lettreExiste(motProposer, lettre):
            print "Bien jouer"
    else:
            print "eh non !"

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Quel est le problème ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 5
    Par défaut
    je n'arrive pas à faire en sorte qu'une lettre proposé qui est bonne s'affiche dans le mot à la place de l'underscore.

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Par défaut
    Première chose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def lettreExiste(motProposer, lettre):
      return (lettre in motMystere)
    Cela devrait bien sûr être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def lettreExiste(motProposer, lettre):
      return (lettre in motProposer)
    Ensuite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    i = 0
    while i < len(motProposer):
        motMystere= motMystere+"_ "
        i=i+1
    print motMystere
    Cela fonctionne, mais c'est pas optimal; ce serait plus facile pour la suite si la lettre d'indice i dans motMystere correspond à la lettre d'indice i dans motProposer. Et la boucle while c'est inutilement verbeux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    motMystere = "_" * len(motProposer)
    print " ".join(motMystere)
    La première ligne crée une chaîne de _ de même longueur que mot proposé. La seconde l'affiche en séparant les caractères par un espace, pour reproduire le même affichage que le tien (sans l'espace final qui était inutile).

    A toi de continuer

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 5
    Par défaut
    Merci, j'ai compris et bien sûr effectué les changements. Mais là encore je bloque sur la suite...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    def saisirMot():
        return (raw_input("Choisissez le mot mystère : "))
     
    def proposeLettre():
        return (raw_input("Proposez une lettre: "))
     
    def lettreExiste(mot_propose, lettre):
      return (lettre in mot_propose)
     
    mot_propose=saisirMot()
     
    mot_a_trouver = "_" * len(mot_propose)
    print " ".join(mot_a_trouver)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    nbtentative=0
    while (mot_propose!=mot_a_trouver and nbtentative<10):   
        lettre=proposeLettre()
        if lettreExiste(mot_propose, lettre):
                mot_propose=mot_propose+lettre
        else:
                mot_propose=mot_propose+mot_a_trouver[i]
        i=i+1
        print "Bien jouer"
    else:
                print "eh non !"
                nbtentative=nbtentative+1
                print mot_a_trouver

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Par défaut
    Ce que tu fais dans cette boucle while n'a aucun sens. Exprime d'abord ton algorithme en français et ensuite traduis-le en Python. Tu ne dois pas ajouter des lettre à mot_propose mais bien remplacer des _ dans mot_a_trouver (déjà, je ne trouve pas le nom des variables très intuitif; "mot_a_trouver", ça m'évoque plutôt le mot.. à trouver, celui qui tu as appelé "mot_propose"). Et uniquement si la lettre proposée est bonne, sinon il ne faut rien faire. L'incrémentation du nombre de tentatives doit aussi se trouver dans la boucles, pas en-dehors. C'est quoi ce "i" qui ne sert à rien ??

Discussions similaires

  1. Code en bourne shell du jeu Le "PENDU"
    Par piment dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 20/07/2007, 14h17
  2. Jeu Bonhomme pendu
    Par yinyann86 dans le forum Delphi
    Réponses: 11
    Dernier message: 14/11/2006, 17h03
  3. Le jeu du pendu.
    Par giggs dans le forum C
    Réponses: 5
    Dernier message: 31/10/2006, 13h40
  4. jeu du pendu
    Par krachik dans le forum Langage
    Réponses: 5
    Dernier message: 24/10/2006, 12h48
  5. Réponses: 4
    Dernier message: 24/03/2006, 13h54

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