Probléme avec if
Résolu
Benjamin
-
Benjamin -
Benjamin -
Bonjour , pour mon lycée je dois réaliser un jeu qui est le pendu
Et j'ai réussi à demander le mot que on veux utiliser , le test de si la lettre est présente mais si elle ne l'est pas alors on dessine une partie du pendu , et je voulais savoir si vous saviez comment faire une suite du genre
premier trait tracé, dessiner alors tracer le deuxième
deuxième trait tracé alors tracer le troisième
...
voilà le programme que j'ai commencé à faire
Je dois le finir pour mercredi 2 novembre 2016
Et j'ai réussi à demander le mot que on veux utiliser , le test de si la lettre est présente mais si elle ne l'est pas alors on dessine une partie du pendu , et je voulais savoir si vous saviez comment faire une suite du genre
premier trait tracé, dessiner alors tracer le deuxième
deuxième trait tracé alors tracer le troisième
...
voilà le programme que j'ai commencé à faire
from turtle import * #Défintion du jeu Mot=input('Rentrer un mot qui contient 10 lettres ou moins') Mot=str.lower(Mot) Long_Mot= len(Mot) print (Long_Mot) while Long_Mot > 10: Mot=input('Rentrer un mot qui contient 10 lettres ou moins') Mot=str.lower(Mot) Long_Mot= len(Mot) print (Long_Mot) for Long_Mot in range (0,10): Lettre=input ("Quel lettre proposez vous") if Lettre in Mot: print ('la lettre' , Lettre, ' est dans le mot ') else: essai1=left(180),forward(50) essai2=right(90),forward(300) essai3=right(90),forward(100) essai4=right(90),forward(50) essai5=right(90),circle(20) essai6=up(),left(90),forward(40),down(),forward(100) essai7=left(180),forward(50),left(60),forward(50) essai8=left(180),forward(50),left(60),forward(50) essai9=left(180),forward(50),left(60),forward(50),left(60),forward(50) essai10=left(180),forward(50),left(60),forward(50)
Je dois le finir pour mercredi 2 novembre 2016
A voir également:
- Probléme avec if
- If exist - Forum Java
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
- If char ✓ - Forum Programmation
- The Realtek Network Controller was not found. - Forum Pilotes (drivers)
- Php if multiple conditions ✓ - Forum PHP
3 réponses
Salut,
Je présume que :
sont les 10 étapes pour dessiner un pendu.
Le problème actuellement c'est que si l'utilisateur rentre une mauvaise lettre, le pendu est dessiné entièrement. En plus, les commandes Turtle ne retournent pas de données, tu ne peux pas les stocker dans des variables.
Ce que tu peux faire, c'est créer une variable
Ensuite, teste la valeur de erreur pour regarder ce que tu dois dessiner.
Enfin, dessine l'étape à laquelle est le joueur.
Par exemple : le joueur a commis 3 erreur (
Etape 1 : augmenter la valeur de
Etape 2 : cherche à l'aide de
Etape 3 : applique le dessin associé à la valeur 4 (ici
Aider est mon nindo
Je présume que :
essai1=left(180),forward(50) essai2=right(90),forward(300) essai3=right(90),forward(100) essai4=right(90),forward(50) essai5=right(90),circle(20) essai6=up(),left(90),forward(40),down(),forward(100) essai7=left(180),forward(50),left(60),forward(50) essai8=left(180),forward(50),left(60),forward(50) essai9=left(180),forward(50),left(60),forward(50),left(60),forward(50) essai10=left(180),forward(50),left(60),forward(50)
sont les 10 étapes pour dessiner un pendu.
Le problème actuellement c'est que si l'utilisateur rentre une mauvaise lettre, le pendu est dessiné entièrement. En plus, les commandes Turtle ne retournent pas de données, tu ne peux pas les stocker dans des variables.
Ce que tu peux faire, c'est créer une variable
erreur = 0dont tu augmentes la valeur de 1 chaque fois que l'utilisateur fait une erreur.
Ensuite, teste la valeur de erreur pour regarder ce que tu dois dessiner.
Enfin, dessine l'étape à laquelle est le joueur.
Par exemple : le joueur a commis 3 erreur (
erreur = 3) et il en fait une autre.
Etape 1 : augmenter la valeur de
erreur = 3de un (donc
erreur = 4maintenant)
Etape 2 : cherche à l'aide de
ifet
else ifla valeur de erreur (ici 4)
Etape 3 : applique le dessin associé à la valeur 4 (ici
right(90),forward(50))
Aider est mon nindo
Salut,
si tu as déjà entendu parler de liste, de tuple et de fonction, voila une solution possible :
si tu as déjà entendu parler de liste, de tuple et de fonction, voila une solution possible :
#!/usr/bin/python #! -*- encoding: utf-8 -*- from turtle import * #Définition du dessin tracer_data = [(left,180,forward,50), (right,90,forward,300), (right,90,forward,100), (right,90,forward,50), (right,90,circle,20), (up,None,left,90,forward,40,down,None,forward,100)] #etc... def tracer(n): if n>=len(tracer_data): print ("Perdu !") exit() dessin = tracer_data[n] i=0 while i < len(dessin): if dessin[i+1] is not None : dessin[i](dessin[i+1]) else: dessin[i]() i+=2 #Défintion du jeu Long_Mot= 11 while Long_Mot > 10: Mot=raw_input('Rentrer un mot qui contient 10 lettres ou moins') Mot=str.lower(Mot) Long_Mot= len(Mot) print (Long_Mot) erreur = 0 for Long_Mot in range (0,10): Lettre=raw_input ("Quel lettre proposez vous") if Lettre in Mot: print ('la lettre' , Lettre, ' est dans le mot ') else: tracer(erreur) erreur+=1