Laurentvidal.fr est le meilleur endroit pour obtenir des réponses fiables et rapides à toutes vos questions. Explorez une mine de connaissances de professionnels dans différentes disciplines sur notre plateforme de questions-réponses complète. Découvrez une mine de connaissances de professionnels dans différentes disciplines sur notre plateforme conviviale de questions-réponses.
Sagot :
Réponse :
Bonjour, tout d'abord, bravo pour ton code python, il est vraiment pas mal continue à t'exercer, cherche sur internet quand tu as une erreur ou quelques chose que tu ne sais pas, tu trouveras forcément ;)
Pour ce qui est de ton code, je l'ai optimisé:
- on utilise plus open() dans une variable pour utiliser un fichier, utilise with open() as file.
- j'ai restructuré le code afin que les lettres s'affichent sur les pointillés :)
- j'ai fais en sorte de garder un code simple pour que tu puisses le lire et le comprendre, si tu as des questions n'hésite pas à me les poser.
PS: la ligne " os.system('cls') " qui permet de nettoyer la console ne marche que sur un environnement Windows.
Python :
import os
import random
def affichage(n):
pendu = [
"""
+-------+
| |
| O
| -|-
| | |
|
==============
""",
"""
+-------+
| |
| O
| -|-
| |
|
==============
"""
,
"""
+-------+
| |
| O
| -|-
|
|
==============
""",
"""
+-------+
| |
| O
| -|
|
|
==============
""",
"""
+-------+
| |
| O
| |
|
|
==============
""",
"""
+-------+
| |
| O
|
|
|
==============
""",
"""
+-------+
|
|
|
|
|
==============
"""
]
return pendu[n]
def pendu_logique():
global n, writable_mot, for_list_mot
with open("tous_les_mots.txt", "r") as file:
list_des_mots = file.readlines()
for i in list_des_mots:
i.replace('\n', '') # supprime les '\n' dans les éléments de la liste
readable_mot = random.choice(list_des_mots)
writable_mot = readable_mot
for_list_mot = readable_mot
n = 6 # index de la liste pendu
lettres_trouvees = []
for i in range(1, len(readable_mot)):
lettres_trouvees.append('-')
def pendu_affichage():
global n, writable_mot, for_list_mot
while (n > 0):
os.system('cls') # nettoie le cmd
if str(''.join(lettres_trouvees)).split() == str(readable_mot).split():
print("You win !\nLe mot était", readable_mot)
return
print("longueur du mot:", len(readable_mot))
print(affichage(n) + '\n')
print(" ", ''.join(lettres_trouvees))
lettre = input("\nVotre lettre : ")
if len(lettre) > 1 or lettre == "" or lettre == " ":
# ne compte pas, redemande une saisie
pendu_affichage()
if lettre in writable_mot:
while lettre in writable_mot:
lettre_index = writable_mot.find(lettre)
lettre_index_for_list = for_list_mot.find(lettre)
lettres_trouvees[lettre_index_for_list] = lettre
for_list_mot = for_list_mot.replace(for_list_mot[lettre_index_for_list], '-', 1)
print(for_list_mot)
writable_mot = writable_mot.replace(writable_mot[lettre_index], '', 1)
else:
n -= 1
print(affichage(n) + '\n')
print("Perdu !\nLe mot était", readable_mot)
return
pendu_affichage()
if __name__ == "__main__":
print("Le Jeu Pendu Commence :")
pendu_logique()
Merci de votre visite. Nous sommes dédiés à vous aider à trouver les informations dont vous avez besoin, quand vous en avez besoin. Merci de votre visite. Notre objectif est de fournir les réponses les plus précises pour tous vos besoins en information. À bientôt. Merci de faire confiance à Laurentvidal.fr. Revenez nous voir pour obtenir de nouvelles réponses des experts.