début de jeu de pendu en mode texte.
Pour commencer, nous allons créer un dictionnaire en chargeant une liste de mots figurant dans un fichier texte.
L'import d'un fichier texte dans une liste se fait facilement en Python :
liste_mots = []
with open("liste_mots.txt","r") as fichier:
liste_mots = fichier.readlines()
len(liste_mots)
336529
Pour choisir un mot aléatoire dans cette liste, nous utiliserons la fonction choice du module random.
Le mot choisi contient un caractère de fin de ligne parasite (\n) que nous éliminerons grâce au slicing : on garde tous les caractères depuis le début jusqu'au dernier, exclu.
Exécutez plusieurs fois la cellule ci-dessous pour voir les différents choix de mots aléatoires.
from random import choice
mot_inconnu = choice(liste_mots)[:-1]
mot_inconnu
Créez une fonction masque prenant en paramètre un mot et renvoyant une chaîne masquée contenant autant de '-' qu'il y a de lettres dans le mot.
Par exemple : masque('python') renvoie '------'
def masque(mot):
# YOUR CODE HERE
raise NotImplementedError()
assert masque('python') == '------'
Créez une fonction devine prenant en paramètres
et renvoyant le masque dans lequel la lettre proposée apparaît à toutes les places où celle-ci est présente dans le mot.
Exemple : devine('python','p----n','t') renvoie 'p-t--n'
def devine(mot, mot_masque, lettre):
# YOUR CODE HERE
raise NotImplementedError()
assert devine('python','p----n','t') == 'p-t--n'
Nous disposons à présent des fonctions nécessaires pour jouer une partie. Il ne nous reste donc plus qu'à réaliser la fonction jouer qui
Exemples :
def jouer(lettre, etat):
# YOUR CODE HERE
raise NotImplementedError()
mot = "python"
mask = masque(mot)
nb_err = 0
assert jouer("a", [mot, mask, nb_err]) == ['python', '------', 1]
assert jouer("p", [mot, mask, nb_err]) == ['python', 'p-----', 0]
mot = "python"
etat = [mot, masque(mot),0]
etat = jouer("a", [mot, mask, nb_err])
etat
etat = jouer("p", etat)
etat
etat = jouer("u", etat)
etat
etat = jouer("n", etat)
etat
etat = jouer("y", etat)
etat
etat = jouer("t", etat)
etat
etat = jouer("o", etat)
etat
etat = jouer("h", etat)
etat