-
Notifications
You must be signed in to change notification settings - Fork 55k
Open
Description
import random
import pickle
liste = ["sera", "python", "codage", "seraphin"]
Dessins du pendu
pendu = [
"""
+---+
| |
|
|
|
|
=========""",
"""
+---+
| |
O |
|
|
|
=========""",
"""
+---+
| |
O |
| |
|
|
=========""",
"""
+---+
| |
O |
/| |
|
|
=========""",
"""
+---+
| |
O |
/|\ |
|
|
=========""",
"""
+---+
| |
O |
/|\ |
/ |
|
=========""",
"""
+---+
| |
O |
/|\ |
/ \ |
|
=========""",
]
x = random.choice(liste)
nom = input("Saisir un nom d'utilisateur : ")
print("Indice : le mot contient", len(x), "lettres.")
mt = []
score = 0
erreur = 0 # compteur des erreurs
while True:
print(pendu[erreur]) # afficher pendu actuel
d = input("Saisir une lettre : ")
# Vérifier une seule lettre
if len(d) != 1:
print("Vous devez saisir UNE seule lettre.")
continue
# Lettre déjà trouvée ?
if d in mt:
print("Déjà trouvé")
continue
# Vérifier si la lettre est dans le mot
if d in x:
mt.append(d)
print("Bonne lettre !")
else:
erreur += 1
print("Mauvaise lettre ❌")
# Afficher progression
for r in x:
if r in mt:
print(r, end="")
else:
print("*", end="")
print("\n")
# Si le joueur perd
if erreur == 6:
print(pendu[6])
print("💀 Vous avez perdu ! Le mot était :", x)
break
# Si toutes lettres trouvées
if len(mt) == len(x):
score += 10
print("Bravo !!! Le mot était bien :", x)
print("Votre score :", score)
quit = input("Voulez-vous continuer ? (o/n) ")
if quit == "o":
mt = []
erreur = 0
x = random.choice(liste)
print("\nNouveau mot ! Il contient", len(x), "lettres.")
else:
# Sauvegarde score
with open("score.pkl", "ab") as y:
t = pickle.Pickler(y)
t.dump({"nom": nom, "score": score})
break
seraphinkambale10-svg
Metadata
Metadata
Assignees
Labels
No labels