IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Jeu du pendu


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 3
    Points
    3
    Par défaut Jeu du pendu
    Bonsoir,

    J'ai beaucoup de mal avec Python, donc je me tourne vers vous pour avoir des conseils.


    Je dois créer un jeu du pendu avec un mot en minuscule de longueur variable.
    10 essais sont possibles.


    Il faut que ce soit un truc tout "simple".


    Entrez votre mot :
    Essai 1 : _ _ _ _ ... _
    Tapez votre lettre :
    1 lettre trouvée
    Essai 1 (remprend à essai 1 car la lettre précédente est bien dans le mot) : _ _ _ _ ... _
    2 lettres trouvées
    Essai 1 : _ _ _ _ ... _


    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     mot_a_trouver = imput("Entrer un mot à trouver : ")
     
    lettre = input("Entrez une lettre : ")
    lettre = lettre.lower()
     
     
    while mot_a_trouver != mot_trouve and nb_chances > 0 :
        print("Mot à trouver {0} (encore {1} chances)".format(mot_trouve, nb_chances))
     
     
        if lettre in mot_a_trouver: # La lettre est dans le mot à trouver
            lettres_trouvees.append(lettre)
            print("Bien joué !")
        else:
            nb_chances -= 1
            print("... non, cette lettre ne se trouve pas dans le mot...")
            mot_trouve = mot_a_trouver
     
     
     
        # A-t-on trouvé le mot ou nos chances sont-elles épuisées ?
        if mot_a_trouver==mot_trouve :
            print("Félicitations ! Vous avez trouvé le mot {0}.".format(mot_a_trouver))
        else:
            print("PENDU !!! Vous avez perdu.")



    Pourriez-vous m'aider ?
    Merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Points : 240
    Points
    240
    Par défaut
    Bonjour,

    Je pense qu'il faudrait commencer par mettre ça dans ta boucle au lieu du début du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lettre = input("Entrez une lettre : ")
    lettre = lettre.lower()
    Par ailleurs, il faudrait ajouter l'incrémentation du nombre de chances à la fin de ta boucle...

    A +

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    J'ai fais ça :

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    mot_a_trouver = imput("Entrer un mot à trouver : ")
     
     
    while mot_a_trouver != mot_trouve and nb_chances > 0 :
        print("Mot à trouver {0} (encore {1} chances)".format(mot_trouve, nb_chances))
     
        lettre = input("Entrez une lettre : ")
        lettre = lettre.lower()
     
     
        if lettre in mot_a_trouver: # La lettre est dans le mot à trouver
            lettres_trouvees.append(lettre)
            print("Bien joué !")
        else:
        # A-t-on trouvé le mot ou nos chances sont-elles épuisées ?
            if mot_a_trouver==mot_trouve :
                print("Félicitations ! Vous avez trouvé le mot {0}.".format(mot_a_trouver))
            else:
                print("PENDU !!! Vous avez perdu.")
     
            nb_chances -= 1
            print("... non, cette lettre ne se trouve pas dans le mot...")
            mot_trouve = mot_a_trouver


    Quand je l'exécute, j'ai un message d'erreur sur la ligne 1 :
    "NameError: name 'imput' is not defined'

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Pas grand chose à dire,

    imput != input

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Ah oui, je me fais toujours avoir avec sa !


    Maintenant, il me met une autre erreur :
    "UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 14: original not in range (128)"


    J'y comprend rien du tout !

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Tu ne met pas le numéro de ligne mais je suppose que cela vient d'ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mot_a_trouver = input("Entrer un mot à trouver : ")
    Ajoute ceci en première ligne de ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    # -*- coding: utf-8 -*-
    Lorsque tu as une erreur, copies le traceback complet que l'on sache où cela se passe.

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    J'ai fais exactement comme tu m'a dit mais j'ai toujours la même erreur et ça ne me met pas de numéro de ligne.


    Traceback :

    Message File Name Line Position
    Traceback
    <module> <module1> 5
    Win32Input <string> 530
    Win32RawInput <string> 523
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 14: ordinal not in range(128)

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Si tu utilises Python 2, tu dois déclarer tes chaînes unicode en les faisant précéder d'un u

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mot_a_trouver = input(u"Entrer un mot à trouver : ")
    Si tu utilises Python 3, alors cela vient peut-être de l'environement dans lequel tu lance ton code.

    Utilise-tu une IDE ?

    Je previens de suite, sous Windows je ne pourrai pas aider beaucoup.

  9. #9
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    J'utilise AmiensPython sous Windows 7.

    Qu'est ce qu'une IDE ?

  10. #10
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    J'ai l'impression que AmiensPython est une Environnement de Développement Intégré, IDE en Anglais.

    Sur leur site, la page Historique laisse planer un doute quand à son utilisation avec Python 3, faudrait que tu vérifies cela.



    http://amienspython.tuxfamily.org/

  11. #11
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par VinsS Voir le message
    J'ai l'impression que AmiensPython est une Environnement de Développement Intégré, IDE en Anglais.

    Sur leur site, la page Historique laisse planer un doute quand à son utilisation avec Python 3, faudrait que tu vérifies cela.



    http://amienspython.tuxfamily.org/
    Ah ok

    Comment je fais pour vérifier ?
    Je télécharge Python 3 et je vois si le code fonctionne ?

  12. #12
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Ha !

    J'avais finit par penser que tu utilisais Python 3.

    Ben alors, fais comme j'ai dit plus haut; préfixe tes chaînes de texte avec un u.

  13. #13
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    C'est ce que j'ai fais mais j'ai toujours une erreur.


    Message File Name Line Position
    SyntaxError
    (unicode error) 'utf8' codec can't decode byte 0xe0 in position 0: unexpected end of data (<module1>, line 4) <module1> 4



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    # -*- coding: utf-8 -*-
     
     
    mot_a_trouver = input(u"Entrer un mot à trouver : ")
     
     
    while mot_a_trouver != mot_trouve and nb_chances > 0 :
        print(u"Mot à trouver {0} (encore {1} chances)".format(mot_trouve, nb_chances))
     
        lettre = input(u"Entrez une lettre : ")
        lettre = lettre.lower()
     
     
        if lettre in mot_a_trouver: # La lettre est dans le mot à trouver
            lettres_trouvees.append(lettre)
            print(u"Bien joué !")
        else:
        # A-t-on trouvé le mot ou nos chances sont-elles épuisées ?
            if mot_a_trouver==mot_trouve :
                print(u"Félicitations ! Vous avez trouvé le mot {0}.".format(mot_a_trouver))
            else:
                print(u"PENDU !!! Vous avez perdu.")
     
            nb_chances -= 1
            print(u"... non, cette lettre ne se trouve pas dans le mot...")
            mot_trouve = mot_a_trouver

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,
    Avec Python 2.7, il serait préférable d'utiliser raw_input (plutôt qu'input).
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #15
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Salut

    Je viens de tester avec raw_input mais c'est toujours pareil.

  16. #16
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par zebrac Voir le message
    Je viens de tester avec raw_input mais c'est toujours pareil.
    Désolé.
    En fait, vous devriez utiliser la fonction "demande" du module lycee.py qui fait partie de http://amienspython.tuxfamily.org/

    Vos enseignants l'ont écrite pour vous faciliter la vie. Et évitez de tomber dans les pièges posés par les délices de l'encoding.
    Si vous utilisez "demande", supprimez les "u" préfixe de vos chaînes.

    Bon courage
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  17. #17
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Une autre solution est de copier sur la feuille du voisin.

    http://www.developpez.net/forums/d12...u/#post7025930

Discussions similaires

  1. Code en bourne shell du jeu Le "PENDU"
    Par piment dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 20/07/2007, 14h17
  2. Jeu Bonhomme pendu
    Par yinyann86 dans le forum Delphi
    Réponses: 11
    Dernier message: 14/11/2006, 17h03
  3. Le jeu du pendu.
    Par giggs dans le forum C
    Réponses: 5
    Dernier message: 31/10/2006, 13h40
  4. jeu du pendu
    Par krachik dans le forum Langage
    Réponses: 5
    Dernier message: 24/10/2006, 12h48
  5. Réponses: 4
    Dernier message: 24/03/2006, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo