Probleme python
Boby15
Messages postés
2
Statut
Membre
-
kilian Messages postés 8854 Statut Modérateur -
kilian Messages postés 8854 Statut Modérateur -
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
A voir également:
- Probleme python
- Citizen code python - Accueil - Outils
- Citizen code python solution - Forum Python
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Python par la pratique : 101 exercices corrigés pdf - Forum Python
- [PyCharm] Pas d'interpréteur python ✓ - Forum Python
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)