Tout le monde connait le célèbre jeu du pendu...
a="tentative"
lettres=[]
def mot_a_trous(list,mot):
a=""
for l in mot:
if l in list:
a=a+l
else:
a=a+" _ "
return a
print( mot_a_trous(lettres,a))
while mot_a_trous(lettres,a) != a:
x=input("une lettre")
if x in a:
lettres.append(x)
print( mot_a_trous(lettres,a))
Pour endre le jeu plus interessant, utilisant un fichier avec les mots de la langue française : penduplusfrequence.csv.
Voici le code du jeu du pendu avec une liste de mots gérées aléatoirement :
import csv
from random import *
lesmots=[]
with open('penduplusfrequence.csv', newline='', encoding='utf-8') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
lesmots.append(row['mot'])
def mot_a_trous(list,mot):
a=mot[0]
for l in mot[1:len(mot)-1]:
if l in list:
a=a+l
else:
a=a+"."
a=a+mot[len(mot)-1]
return a
def jouer():
i=randint(0,len(lesmots)-1)
a=lesmots[i]
lettres=[]
print( mot_a_trous(lettres,a))
while mot_a_trous(lettres,a) != a:
x=input("une lettre :")
if x=="ab":
print(a)
if x in a:
lettres.append(x)
print( mot_a_trous(lettres,a))
r=input("rejouer (o/n)")
if r=="o":
jouer()
jouer()
Dans ce code, il y a une façon de voir le mot recherché, Laquelle ?
Consulter la liste des mots, expliquer le bug que l'on risque de rencontrer, proposer une solution.
Maintenant, il faut pendre les "mauvais joueurs", modifier le code pour qu'il y ait un gagnant ou un pendu.