Probleme python
Boby15
Messages postés
2
Statut
Membre
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, je me lance sur la conception du jeu python avec python mais malheureusement je bloque, je n'arrive pas à mettre à jour mon mot après qu'une lettre soit proposée.. Grand besoin d'un coup de pouce s'il vous plaît, voici mon code:
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) nbtentative=0 i=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
3 réponses
excuse moi, en fait c'est pour le jeu du pendu. J'arrive à faire la saisie d'un mot par un utilisateur A. Puis l'utilisateur B doit deviner ce mot qui est crypté par des "_". Le problème c'est que je n'arrive pas à prendre en compte les proposition de lettres de l'utilisateur B...
Aaah, d'accord ok.
Bon l'idéal: on te propose une lettre, si elle est bonne, tu la met dans une liste globale qu'on va initialiser au début:
lettres_trouvees = [ ]
Ensuite chaque fois qu'il propose une lettre, tu vérifies qu'il n'est pas dans la liste (éviter qu'il repropose deux fois la même):
Si cette lettre est dans le mot à trouver, tu l'insères dans la liste:
Puis tu t'aide d'une fonction pour afficher le mot à trouver en fonction des lettres déjà proposées:
Bon l'idéal: on te propose une lettre, si elle est bonne, tu la met dans une liste globale qu'on va initialiser au début:
lettres_trouvees = [ ]
Ensuite chaque fois qu'il propose une lettre, tu vérifies qu'il n'est pas dans la liste (éviter qu'il repropose deux fois la même):
if lettre not in lettre_trouvees
Si cette lettre est dans le mot à trouver, tu l'insères dans la liste:
lettres_trouvees.append(lettre)
Puis tu t'aide d'une fonction pour afficher le mot à trouver en fonction des lettres déjà proposées:
def afficheMotAtrouver(mot_a_trouver, lettres): mot = "" for l in mot_a_trouver: if l in lettres: mot += l else mot += "_" print mot # L'appel pour plus tard: afficheMotATrouver(mot_a_trouver, lettres_trouvees)