Aide pour finir un Pendu svp :/
Résolu
MajorAstral
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai presque fini de faire un Pendu, je suis débutant dans la programmation sur Python 3.7.2 et je me suis donné un petit défi qui est de reproduire un pendu. Je suis bloquer sur mon programme, j'aimerais que quelqu'un puisse m'aider à terminer mon pendu, mon problème reste de dire a mon programme de ce terminer lorsque mon mot a été trouver ou si le nombre d’essai est terminé.
J'ai presque fini de faire un Pendu, je suis débutant dans la programmation sur Python 3.7.2 et je me suis donné un petit défi qui est de reproduire un pendu. Je suis bloquer sur mon programme, j'aimerais que quelqu'un puisse m'aider à terminer mon pendu, mon problème reste de dire a mon programme de ce terminer lorsque mon mot a été trouver ou si le nombre d’essai est terminé.
while True: mots= ["armoire","boucle","buisson", "bureau", "chaise", "carton", "couteau", "fichier", "garage","glace","journal","kiwi","lampe","liste","montagne","remise","sandale","taxi","vampire","volant",] from random import* motmystere="" mot=choice(mots) print (mot) motmystere=[] for lettre in mot: motmystere.append('*') print(" ".join(motmystere)) compteur=10 while compteur>0: lettreUser=input('Rentrer une lettre :') position=0 for analyslettre in mot: if lettreUser==analyslettre: print ('cette lettre est correcte') motmystere[position]=lettreUser position+=1 print("".join(motmystere)) print() if lettreUser not in mot: compteur-=1 else: compteur==compteur print ('Il vous reste',compteur,'essais') if compteur==0: print ('Vous avez perdu')
A voir également:
- Aide pour finir un Pendu svp :/
- Jeu du pendu - Télécharger - Vie quotidienne
- Comment finir un mail en anglais - Guide
- La mémoire disponible est insuffisante pour finir cette action excel - Forum Excel
- &Quot;La memoire libre est insuffisante" ✓ - Forum Windows
- Pourquoi appuyer sur dièse à la fin d'un message - Forum SFR
5 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, peux-tu utiliser la coloration syntaxique pour partager ton code?
Bonjour, voici est ce que c'est bon pour toi ^^ ?
while True: mots= ["armoire","boucle","buisson", "bureau", "chaise", "carton", "couteau", "fichier", "garage","glace","journal","kiwi","lampe","liste","montagne","remise","sandale","taxi","vampire","volant",] from random import* motmystere="" mot=choice(mots) print (mot) motmystere=[] for lettre in mot: motmystere.append('*') print(" ".join(motmystere)) compteur=10 while compteur>0: lettreUser=input('Rentrer une lettre :') position=0 for analyslettre in mot: if lettreUser==analyslettre: print ('cette lettre est correcte') motmystere[position]=lettreUser position+=1 print("".join(motmystere)) print() if lettreUser not in mot: compteur-=1 else: compteur==compteur print ('Il vous reste',compteur,'essais') if compteur==0: print ('Vous avez perdu')
while True: mots= ["armoire","boucle","buisson", "bureau", "chaise", "carton", "couteau", "fichier", "garage","glace","journal","kiwi","lampe","liste","montagne","remise","sandale","taxi","vampire","volant",] from random import* motmystere="" mot=choice(mots) print (mot) motmystere=[] for lettre in mot: motmystere.append('*') print(" ".join(motmystere)) compteur=10 while compteur>0: lettreUser=input('Rentrer une lettre :') position=0 for analyslettre in mot: if lettreUser==analyslettre: motmystere[position]=lettreUser print("Correct") position+=1 print("".join(motmystere)) print() if lettreUser not in mot: compteur-=1 else: compteur==compteur print ('Il vous reste',compteur,'essais') if compteur==0: print ('Vous avez perdu')
Bonjour.
Ce qu'il te faut est l'instruction break de python.
Voici un peu comment devrait se présenter ton programme.
Bon, ça te mâche un peu le travail, je te propose donc de faire une amélioration de façon à montrer chaque fois les lettres déjà saisies par le joueur, et refuser la saisie si la lettre à déjà été jouée.
Bonne continuation.
Ce qu'il te faut est l'instruction break de python.
Voici un peu comment devrait se présenter ton programme.
# Les imports doivent se situer en début de fichier # Et inutile de polluer l'espace global du script avec le import * # Il est préférable de garder le module dans son propre espace de nom import random # La liste des mots doit se situer hors de ta boucle while, il n'y a aucun intérêt # de la déclarer à multiple reprises mots= ["armoire","boucle","buisson", "bureau", "chaise", "carton", "couteau", "fichier", "garage","glace","journal","kiwi","lampe","liste","montagne","remise","sandale","taxi","vampire","volant",] while True: # On déclare le mot à deviner comme une liste de caractères, afin de faciliter # la comparaison mot = list(random.choice(mots)) # En python, on peut muliplier un caractère motmystere = ['*'] * len(mot) print("".join(motmystere)) compteur = 10 while compteur > 0: lettreUser = input('Entrez une lettre :') # Sert à savoir si la lettre saisie se situe dans le mot lettreDansMot = False # enumerate permet d'obtenir les indices lors de l'itération for i, lettre in enumerate(mot): if lettre == lettreUser: motmystere[i] = lettreUser lettreDansMot = True # On peut passer plusieurs paramètres à print dont le \n (saut de ligne) print("".join(motmystere), '\n') # Si le mot mystère est égal au mot à deviner # On interrompt la boucle if mot == motmystere: print('Bravo !') break # Si la lettre est présente dans le mot if lettreDansMot: print("Correct !") else: compteur -= 1 # Le compteur vaut 0, on interrompt la boucle if compteur == 0: print ('Vous avez perdu...') break print ('Il vous reste', compteur, 'essais') autre = input('\nUne autre partie ?\nTapez 1 pour oui, 0 pour non: ') # Si choix diffréent de 1, on onterrompt la boucle principale if autre != '1': break
Bon, ça te mâche un peu le travail, je te propose donc de faire une amélioration de façon à montrer chaque fois les lettres déjà saisies par le joueur, et refuser la saisie si la lettre à déjà été jouée.
Bonne continuation.
Comment je peu faire pour mettre un score a la fin de la partie et cumuler ce score avec la partie suivante?
svp
svp
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionmots= ["armoire","boucle","buisson", "bureau", "chaise", "carton", "couteau", "fichier", "garage","glace","journal","kiwi","lampe","liste","montagne","remise","sandale","taxi","vampire","volant",] while True: from random import* mot=list(choice(mots)) motmystere =['*']*len(mot) print(" ".join(motmystere)) score=0 compteur=10 while compteur>0: lettreUser=input('Rentrer une lettre :') lettreDansMot=False position=0 for analyslettre in mot: if analyslettre==lettreUser: motmystere[position]=lettreUser lettreDansMot=True position+=1 print("".join(motmystere),'\n') if mot== motmystere: print('Bravo !') score=compteur+score print('Vous avez',score,'points') break if lettreDansMot: print("Correct !") else: compteur-=1 print("Incorrect") print ('Il vous reste',compteur,'essais') if compteur==0: print('Le mot est:',mot) print ('Vous avez perdu') break fin=input('\nUne autre partie ?\nTaper 1 pour oui, 0 pour non: ') if fin !='1': break