Skip to content

Pendule #1156

@seraphinkambale10-svg

Description

@seraphinkambale10-svg

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions