Probleme python

Fermé
Boby15 Messages postés 2 Date d'inscription jeudi 18 décembre 2008 Statut Membre Dernière intervention 18 décembre 2008 - 18 déc. 2008 à 23:44
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 19 déc. 2008 à 00:12
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

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
18 déc. 2008 à 23:55
Salut,

Chuis peut être un peu fatigué, mais quand même je comprends pas ce que tu veux faire :-s
0
Boby15 Messages postés 2 Date d'inscription jeudi 18 décembre 2008 Statut Membre Dernière intervention 18 décembre 2008
18 déc. 2008 à 23:58
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...
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
19 déc. 2008 à 00:12
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):
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)
0