Probléme avec if
Résolu/Fermé3 réponses
Utilisateur anonyme
Modifié par Help-Jason le 26/10/2016 à 22:04
Modifié par Help-Jason le 26/10/2016 à 22:04
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
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
26 oct. 2016 à 22:16
26 oct. 2016 à 22:16
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