Jeu du pendu
Bonjour j'aimerai coder un jeu du pendu (ou l'on doit trouver les lettres correspondant à un mot inconnu dans un nombre de tentative limité) et je n'arrive pas bien à afficher le pendu que se "pend" progressivement lorsque je trouve une lettre fausse je vous joins le programme. pour mieux comprendre je vous conseille de l'exécuter une première fois en entier et une seconde sans le dernier else. (4 dernières lignes)
Merci infiniment.
import random def dessinPendu(nb): tab=[ """ +-------+ | | | | | ============== """, """ +-------+ | | | O | | | ============== """ , """ +-------+ | | | O | | | | ============== """, """ +-------+ | | | O | -| | | ============== """, """ +-------+ | | | O | -|- | | ============== """, """ +-------+ | | | O | -|- | | | ============== """, """ +-------+ | | | O | -|- | | | | ============== """ ] return tab[nb] l=["ANGLE", "ARMOIRE", "BANC", "BUREAU", "CABINET", "CARREAU", "CHAISE", "CLASSE", "CLEF", "COIN", "COULOIR", "DOSSIER", "EAU", "ECOLE", "ENTRER", "ESCALIER"] mot=l[random.randint(0,len(l)-1)] print(mot) p="*"*len(mot) pl=list(p) print(p) r=1 n=0 li=list(mot) r=1 ind=[] while r==1: a=input("lettre :") for i in range(len(li)): if li[i]==a: ind.append(i) for k in mot: if k==a: index=li.index(a) print("bravo") for j in ind: pl[j]=a print(' '.join(pl)) break else: print(dessinPendu(n)) n=n+1 break
Réponses
-
Il te manque les "\n" pour afficher les fins de ligne.
Algebraic symbols are used when you do not know what you are talking about.
-- Schnoebelen, Philippe -
Bonjour,
ça manque aussi de commentaires.
Il y a deux "if" et un seul "else". On ne sait à quel "if" il se rapporte
Cordialement.""" pendu ------------------------------------------------------------------------
--
--
-------------------------------------------------------------------------------"""
import random
def dessinPendu(nb):
tab=[ """ +-------+ | | | | | ============== """,
""" +-------+ | | | O | | | ============== """ ,
""" +-------+ | | | O | | | | ============== """,
""" +-------+ | | | O | -| | | ============== """,
""" +-------+ | | | O | -|- | | ============== """,
""" +-------+ | | | O | -|- | | | ============== """,
""" +-------+ | | | O | -|- | | | | ============== """ ]
return tab[nb]
l=["ANGLE", "ARMOIRE", "BANC", "BUREAU", "CABINET", "CARREAU", "CHAISE",
"CLASSE", "CLEF", "COIN", "COULOIR", "DOSSIER", "EAU", "ECOLE", "ENTRER", "ESCALIER"]
mot=l[random.randint(0,len(l)-1)]
print("mot tiré : " , mot)
p="*"*len(mot)
pl=list(p)
print("p =" , p)
r=1
n=0
li=list(mot)
r=1
ind=[]
while r==1:
a=input("lettre :")
for i in range(len(li)):
if li[i]==a:
ind.append(i)
for k in mot:
if k==a:
index=li.index(a)
print("bravo")
for j in ind:
pl[j]=a
print(' '.join(pl))
break
else:
print(dessinPendu(n))
n=n+1
break -
Bonjour
De toutes façons, c'est illisible en l'état.
La moindre des choses est de se relire.
Cordialement,
Rescassol
-
d'accord merci à tous je vais corriger l'erreur
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.2K Toutes les catégories
- 9 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 65 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 69 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 314 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 773 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres