Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1311 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Besoin d'aide pour un pendu

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Besoin d'aide pour un pendu

n°2343612
salander98
Posté le 25-12-2019 à 19:14:02  profilanswer
 

Bonjour !  
 
Je suis débutant en info et je dois réaliser un pendu (en mot entier) pour un devoir.  
J'ai réussi à tout coder sauf un petit quelque chose de bien utile : je n'arrive pas à séquencer l'affichage du pendu. CAD qu'à la première erreur, la barre de base du pendu se dessine mais à la deuxième faute, le reste du pendu se dessine d'un coup et j'ai beau essayé, avec les connaissances que j'ai, je n'arrive pas à le séquencer en faisant : erreur => un trait, erreur => un trait, etc. comme dans le jeu du pendu, quoi !
 
Je vous mets mon code ici, j'espère que vous pourrez m'aider  :)  
 
print("J'espère que tu as bien compris ! Pour vérifier cela, on va faire un petit jeu." )
print("Comment dit-on Jouet en Chat ?" )
choixJoueur = input("Choisis entre les différents mots du dictionnaire :" )
if choixJoueur == "RrrrRrrrRrrr":
    print("Bravo, c'est ça !" )
elif choixJoueur != "RrrrRrrrRrrr":
    from turtle import *
    color("black" )
    speed(10)
    pensize(4)
    forward(80)
    backward(40)
    ("Essaies encore" )
    while choixJoueur != "RrrrRrrrRrrr":
        choixJoueur = input("Réessayes :" )
        if choixJoueur == "RrrrRrrrRrrr":
            print("Bravo, c'est ça !" )
        else:
            from turtle import *
            color("black" )
            speed(10)
            pensize(4)
            forward(80)
            backward(40)
            left(90)
            forward(200)
            right(90)
            forward(100)
           
            right(90)
            forward(20)            
 
            left(90)
            forward(25)
            right(90)
            forward(25)
            right(90)
            forward(50)
            right(90)
            forward(25)
            right(90)
            forward(25)
         
            forward(25)
            right(90)
            forward(25)
            right(90)
            forward(25)
            left(90)
 
            forward(20)
 
            right(90)
            forward(25)
            left(90)
            forward(100)
            left(90)
            forward(50)
            left(90)
            forward(100)
            left(90)
            forward(25)
             
 
            left(180)
            forward(25)
            right(90)
            forward(25)
            left(60)
            forward(60)
 
            left(180)
            forward(60)
            right(60)
            forward(25)
            left(90)
            forward(50)
            left(90)
            forward(25)
            right(60)
            forward(60)
 
            left(180)
            forward(60)
            right(120)
            forward(75)
            left(90)
            forward(16)
            right(90)
            forward(50)
            left(180)
            forward(50)
 
            right(90)
            forward(16)
            right(90)
            forward(50)

mood
Publicité
Posté le 25-12-2019 à 19:14:02  profilanswer
 

n°2343630
TotalRecal​l
Posté le 26-12-2019 à 14:06:06  profilanswer
 

Il est bizarre ce code de pendu.  
Et ton code est tronqué, assure toi de le poster entier et dans des balises qui vont bien pour la lisibilité.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2343835
rufo
Pas me confondre avec Lycos!
Posté le 02-01-2020 à 15:12:00  profilanswer
 

Déjà, je mettrais la bonne réponse dans une variable histoire de pas la répéter 4 fois dans le code.
Pourquoi tu considères différemment le 1er essai des autres ? Du coup, quand on voit ton code, c'est assez évident pourquoi tout se dessine d'un coup après la première erreur :/ Tu dois ajouter une variable qui compte le nb d'essais et dessiner la partie du pendu en conséquence. Quand le nb d'essais est dépassé, c'est la fin de la partie et c'est perdu :o  
 
Coder, c'est avant tout arriver à mettre sous la forme d'un algorithme ce qu'on veut faire pour obtenir le résultat voulu. Une fois cette étape faite, le plus dur est passé. Car après, c'est plus qu'une histoire de traduction dans une autre langue (ici, le langage de dév choisi, Python). Là, on voit clairement que l'algo est pas du tout clair dans ta tête.


Message édité par rufo le 02-01-2020 à 15:14:16

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2343836
salander98
Posté le 02-01-2020 à 15:49:15  profilanswer
 

Merci pour vos réponses !  
 
@Rufo, Je vois complètement ce que tu veux dire mais justement j'ai déjà cherché une boucle permettant cela mais j'avoue que je ne sais pas quelle condition mettre derrière le while à la place du while True, j'ai eu beau essayer en anglais toutes les traductions de "essais" genre "times", "x time condition" mais j'ai pas réussi à trouver un exemple sur internet d'une boucle while avec cette condition. J'en suis même venu à utiliser la boucle for dans l'espoir que ça fonctionne de façon divine... C'est pour ça que finalement je vous ai mis ce code en espérant le répéter plusieurs fois vu que je ne trouve pas cette variable.  
 
Mais si tu l'as, est-ce que tu pourrais me donner la fameuse formule magique d'une condition d'essai à utiliser avec un while, stp ?  
 
Merci sinon  :)  

n°2343838
rufo
Pas me confondre avec Lycos!
Posté le 02-01-2020 à 16:10:54  profilanswer
 

Je dois avouer que tu me fais un peu peur si tu ne vois pas comment on fait pour compter le nb d'erreurs :/
Tu crées une variable (tu la nommes comme tu veux pour qu'elle soit parlante), tu l'initialises à 0 en début du programme et à chaque essai foiré du user, tu incrémentes cette variable. Arrivée au nombre d'essais max (qui doit correspondre au nb de traits à faire pour dessiner entièrement ton pendu), tu stoppes.
En pseudo-code, tu dois avoir un truc du genre (je pars du principe que t'as 8 essais max) :
iNbEssais = 0
bGagne = FAUX
sBonneReponse = "xxxxxx"
Tant que ((iNbEssais < 8) ET (!bGagne)) Faire    
    "Rentrer la réponse" --> sReponse
    Si (sReponse == sBonneReponse) Alors
        bGagne = VRAI
    Sinon
        iNbEssais++
        Dessiner partie du pendu correspondant à iNbEssais
     Fin Si
Fin Tant que
 
Si bGagne Alors
    "gagné"
Sinon
    "Perdu"
Fin Si
 
Voilà en gros l'idée générale


Message édité par rufo le 05-01-2020 à 09:44:31

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2343841
salander98
Posté le 02-01-2020 à 17:19:54  profilanswer
 

Okay, super merci Rufo !  
Sinon, tu n'as pas à avoir peur, j'ai jamais fait du code auparavant et j'ai pas eu de cours non plus donc pour tout dire j'ai commencé avec un livre flou sur le sujet il y a moins de 2 mois ahah
Merci encore en tous cas !

n°2343843
rufo
Pas me confondre avec Lycos!
Posté le 02-01-2020 à 19:19:09  profilanswer
 

Je ne parle pas de coder, mais de l'étape de concevoir l'algorithme. Ca, c'est de la logique pure et simple (je parle pour des programmes relativement simple, je parle pas d'IA ou d'algos d'optimisation qu'on voit en école d'ingé). Dès lors que tu connais les boucles "tant que ... faire" et "pour" + les conditions "si...alors...sinon" + les variables, ben faire ce genre d'algo en pseudo-code, c'est facile.
C'est le genre de truc que je codais à 12 en BASIC sur mon Amiga 500 ou un peu plus tard au lycée sur ma CASIO ou ma TI-92 :o Quand j'ai débuté, j'ai regardé des programmes pas trop compliqués et j'ai essayé de comprendre ce que ça faisait par déduction mais j'avais la logique. A cette époque, y'avait pas internet et pas beaucoup de bouquins accessibles (années 90) :o
La programmation fait partie de ton cursus scolaire ? Tu fais quoi comme études ?
Je te recommande d'aller faire un tour sur openclassroom, tu devrais y trouver ton bonheur ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2343904
pythonxxxx​xxxxxx
Posté le 03-01-2020 à 20:16:26  profilanswer
 

OK rufo,  
alors déjà on voit bien que tu n'y connais rien. La variable DOIT être parlante. En plus, tout le code que tu as affiché est en français alors que la personne du dessus demande des renseignements pour un programme en anglais, comme tous les vrais codeurs.  
Ensuite dans ton dernier message, je ne comprends pas l'utilité de l'envoyer sur open classroom alors qu'elle demande simplement de l'aide ici. Tu pourrais lui expliquer autrement sans forcément être aussi condescendant.  
 
PS: mdr coder sur une Amiga 500 je le faisais déjà à 6 ans, pas besoin d'être fière

n°2343928
TotalRecal​l
Posté le 04-01-2020 à 14:44:40  profilanswer
 

pythonxxxxxxxxxx a écrit :

OK rufo,  
alors déjà on voit bien que tu n'y connais rien. La variable DOIT être parlante. En plus, tout le code que tu as affiché est en français alors que la personne du dessus demande des renseignements pour un programme en anglais, comme tous les vrais codeurs.  
Ensuite dans ton dernier message, je ne comprends pas l'utilité de l'envoyer sur open classroom alors qu'elle demande simplement de l'aide ici. Tu pourrais lui expliquer autrement sans forcément être aussi condescendant.  
 
PS: mdr coder sur une Amiga 500 je le faisais déjà à 6 ans, pas besoin d'être fière


Belle introduction pour ton tout premier post sur le forum, ça donne envie de voir la suite :love: !  
C'est sûr qu'un algo en anglais est tellement plus parlant et efficace, tu as raison, c'est vraiment un gland ce rufo.
Et tu arrives à parler de condescendance juste après ça en plus, respect :jap:.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2344001
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 05-01-2020 à 21:01:07  profilanswer
 

pythonxxxxxxxxxx a écrit :

OK rufo,  
alors déjà on voit bien que tu n'y connais rien. La variable DOIT être parlante. En plus, tout le code que tu as affiché est en français alors que la personne du dessus demande des renseignements pour un programme en anglais, comme tous les vrais codeurs.  
Ensuite dans ton dernier message, je ne comprends pas l'utilité de l'envoyer sur open classroom alors qu'elle demande simplement de l'aide ici. Tu pourrais lui expliquer autrement sans forcément être aussi condescendant.  
 
PS: mdr coder sur une Amiga 500 je le faisais déjà à 6 ans, pas besoin d'être fière


As tu lu la signature de Rufo ? Ce sont des liens vers les logiciels qu'il a créés. Ca, plus le fait qu'il intervient ici de façon très pertinente depuis de nombreuses années devraient suffire à te démontrer que ce n'est pas vraiment le premier venu.
En revanche, toi tu débarques, t'es incapable de faire la différence entre code et pseudo-code, et t'exposes tes 4 vérités sous couvert que t'as codé sur A500 à l'âge de 6 ans.  
 
Va donc fêter la nouvelle année chez les télétubbies une petite semaine, histoire de t'apprendre l'humilité.


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 05-01-2020 à 21:01:07  profilanswer
 

n°2344124
rufo
Pas me confondre avec Lycos!
Posté le 07-01-2020 à 13:19:41  profilanswer
 

A la décharge de notre nouvel "ami", j'avais fait une faute de frappe dans mon post sur le nommage des variables, faute que j'ai corrigée depuis.
J'avais écrit initialement "Tu crées une variable (tu la nommes comme tu veux pas qu'elle soit parlante)" ce qui n'est pas très français. Je voulais bien entendu dire "Tu crées une variable (tu la nommes comme tu veux pour qu'elle soit parlante)".
 
Le PS de pythonxxxxxxxxxx ne me paraît pas très crédible et me laisserait penser à un concours de celui qui pisse le plus loin. Le manque de prise de recul et le ton employé pour son premier post me laisse à penser qu'il s'agit d'un homme de moins de 30 ans. Du coup, avoir codé dès 6 ans sur un Amiga 500, produit entre 1987 et 1991, me paraît très peu probable, surtout pour un développeur qui ne fait pas la différence entre du code source et du pseudo-code. Ajouter à cela que coder dès 6 ans à cette époque n'était pas très courant et il fallait déjà savoir lire  :whistle: Remarque, ça peut être une nouvelle méthode pédagogique : faire lire des bouquins d'apprentissage du BASIC pour apprendre aux enfants de CP à lire. :D
 
Et comme Harkonnen le soulignait, pythonxxxxxxxxxx, si tu prends la peine d'aller sur l'un des liens de ma signature, tu seras heureux de voir que je suis un "vrai" développeur puisque tous mes logiciels sont codé en anglais (et même leur doc).  
[mode troll /on]
Du coup, il confirme ce que tout le monde pense ici des développeurs Windev : ce ne sont pas des vrais développeurs puisque ces cons, ils codent en français.  :o  
[mode troll /off]


Message édité par rufo le 07-01-2020 à 13:20:07

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2344149
TotalRecal​l
Posté le 07-01-2020 à 21:22:24  profilanswer
 

OK rufo,  
alors déjà on voit bien que tu n'y connais rien, on peut faire du windev en anglais.

Spoiler :

[:cupra]
Et sinon je te trouve bien indulgent, j'avais vu le mot manquant dans ton post mais ça ne justifie rien de ce qui a suivi.
Mais bref, l'incident est clos et notre nouveau copain ne va peut être jamais se repointer après ce chaleureux accueil. Bien d'accord avec le freste de ton analyse sinon, et s'il a plus de 30 ans c'est encore pire :o



---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2344153
rufo
Pas me confondre avec Lycos!
Posté le 07-01-2020 à 22:22:22  profilanswer
 

Oui, incident clos et, salander98, désolé pour ce HS et pollution de ton topic, le 1er sur ce forum. Faut pas que ça t'effraie : promis, c'est heureusement pas comme ça que ça se passe dans la large majorité des cas. :hello:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Besoin d'aide pour un pendu

 

Sujets relatifs
[BATCH] besoin d'un ptit coup de pouce !Aide visual basic svp
Aide pour fusionner deux tablesaide debutant en java exercise
Aide RegEx pour extraire une sous chaine entre crochet(reconversion)Demande d'aide pour trouver une formation JAVA svp
[Batch] aide pour mon batch[RESOLU] petite aide appel fonction powershell
REGEX besoin d'aide 
Plus de sujets relatifs à : Besoin d'aide pour un pendu


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR