Untitled

 avatar
unknown
plain_text
2 years ago
3.2 kB
2
Indexable
import random

# définir les mots possibles
mots = ["PYTHON", "PROGRAMMATION", "ORDINATEUR",
        "LANGAGE", "ALGORITHME", "DEVELOPPEMENT"]

while True:
    # choisir un mot aléatoire
    mot = random.choice(mots)

    # initialiser les variables
    lettres_trouvees = []
    lettres_incorrectes = []
    nb_chances = 6

    # afficher les tirets représentant les lettres à trouver
    mot_en_cours = ["_"] * len(mot)
    print(" ".join(mot_en_cours))

    # boucle de jeu
    while nb_chances > 0 and "_" in mot_en_cours:
        # demander à l'utilisateur de saisir une lettre
        lettre = input("Entrez une lettre : ").upper()

        # vérifier si la lettre est valide
        if not lettre.isalpha() or len(lettre) > 1:
            print("Veuillez entrer une lettre valide.")
            continue

        # vérifier si la lettre est déjà trouvée ou incorrecte
        if lettre in lettres_trouvees or lettre in lettres_incorrectes:
            print("Vous avez déjà essayé cette lettre. Veuillez en essayer une autre.")
            continue

        # vérifier si la lettre est présente dans le mot
        if lettre in mot:
            lettres_trouvees.append(lettre)
            for i in range(len(mot)):
                if mot[i] == lettre:
                    mot_en_cours[i] = lettre
            print(" ".join(mot_en_cours))
        else:
            lettres_incorrectes.append(lettre)
            nb_chances -= 1
            print("La lettre", lettre,
                  "n'est pas dans le mot. Il vous reste", nb_chances, "chances.")
            # dessiner une partie du pendu
            if nb_chances == 5:
                print("  ______")
                print(" |      |")
                print(" |      O")
            elif nb_chances == 4:
                print("  ______")
                print(" |      |")
                print(" |      O")
                print(" |      |")
            elif nb_chances == 3:
                print("  ______")
                print(" |      |")
                print(" |      O")
                print(" |     /|")
            elif nb_chances == 2:
                print("  ______")
                print(" |      |")
                print(" |      O")
                print(" |     /|\\")
            elif nb_chances == 1:
                print("  ______")
                print(" |      |")
                print(" |      O")
                print(" |     /|\\")
                print(" |     /")
            elif nb_chances == 0:
                print("  ______")
                print(" |      |")
                print(" |      O")
                print(" |     /|\\")
                print(" |     / \\")
                print("Vous avez perdu ! Le mot était :", mot)

    # vérifier si toutes les lettres ont été trouvées
    if "_" not in mot_en_cours:
        print("Bravo, vous avez trouvé le mot !")
    else:
        print("Vous avez épuisé toutes vos chances.")

    # demander à l'utilisateur s'il veut jouer de nouveau
    rejouer = input("Voulez-vous jouer de nouveau ? (oui ou non) ").lower()
    if rejouer == "oui":
        continue
    else:
        break