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 :

Encore un problème


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Par défaut Encore un problème
    Bonjour,
    Et oui déjà de retour mais cette fois-ci c'est plus sérieux. En effet tjs sur mon jeu de pendu, j'ai au début ce pogrome :

    i=0

    n=0

    INCONNU=list(input("Entrez le mot inconnu : "))

    SOLUTION=[INCONNU]

    NBLETTRES=len(INCONNU)

    GRILLE=["*"]*NBLETTRES

    x=input("Entrez une lettre possible : ")

    NBLETTRES=NBLETTRES+1

    def test(SOLUTION,NBLETTRES,TEST) :
    while i<NBLETTRES :
    if SOLUTION(i)==x :
    return False
    else :
    return True

    Seulement je lui avait demandé avec print de m'afficher True ou False, mais ça bloque après que j'aie rentré x et ça m'affiche ">>>".
    Cet obstacle me gêne depuis le début et ça en devient agaçant d'autant plus que mon prof est muet.

    Merci d'avance pour votre aide

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 067
    Par défaut
    j'ai un doute pour cette ligne: SOLUTION=[INCONNU]

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Par défaut
    j'ai regardé et ça me met le mot INCONNU dans la liste et chaque caractère est individualisé :

    Exemple : INCONNU="lui"
    SOLUTION=['l','u','i']

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Dans le code propose, vous avez écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INCONNU=list(input("Entrez le mot inconnu : "))
    SOLUTION=[INCONNU]
    INCONNU est liste de lettre,
    SOLUTION sera liste de liste de...
    La question de josmiley est légitime.

    Comme une lettre trouvée remplacera toutes ses occurrences, SOLUTION "ensemble des lettres" du mot a trouver plutôt que "liste de... " serait plus adapte, non?

    De toutes façons, il n'est pas possible de faire fonctionner votre code ni deviner a quoi se rapportent les questions que vous posez.
    Pire, on vous pose une question vous répondez avec un autre code.
    Soyez plus rigoureux.

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

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 14
    Par défaut
    Donc, je recommence :

    je lance le programme, il m'est affiché "Entrez le mot inconnu : ", je rentre un mot puis python affiche "Entrez une lettre possible : " et que je rentre une lettre étant présente ou non dans le mot ça me fait ça :

    Exemple :

    Entrez le mot inconnu : lui
    Entrez une lettre possible : l
    >>>

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 683
    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 683
    Par défaut
    Je ne sais pas trop ce que vous entendez par "programme".
    En supposant que vous travaillez sous IDLE et que "programme" ressemble a la "chose" postée au début, def test(...) définit la fonction.
    Ca ne l'appelle pas.
    Et lorsque l’interpréteur "attends" la suite, il affiche '>>>'.

    Mais tant que vous ne serez pas plus précis, ce ne sont que des "suppositions".

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

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 43
    Par défaut
    Bonsoir,

    il y a plusieurs choses pas très claires dans ton programme. Comme il a déjà été mentionné plus haut, tu fais une liste de liste avec ton "SOLUTION=[INCONNU]" alors que tu pourrais simplement mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SOLUTION=input("Entrez le mot inconnu : ")
    INCONNU=list(SOLUTION)
    Ensuite ta fonction que tu nommes "test" me semble fausse. Elle prend en paramètre "TEST" mais ce paramètre n'est jamais utilisé (je suppose qu'il est sensé remplacer ton "x").

    Tu n'incrémentes pas ton i dans ton while, je ne comprend donc pas comment tu peux avoir une réponse à cette fonction sans la stopper.

    Tu ne dois pas faire "SOLUTION(i)" mais "SOLUTION[i]" sinon ça ne marchera pas non plus.

    Enfin, ta réflexion est incomplète. Dans ta fonction tu demandes une lettre à l'utilisateur que tu stock dans "x". Puis tu compares cette lettre aux lettres du mot à trouver. Si elle s'y trouve, tu renvois un True, si elle ne s'y trouve pas tu renvois un False. Mais actuellement ta fonction renvoi un True ou un False pour chaque lettre testé et non pour le mot en entier.

    Pour contrer ton problème il te suffit de prendre un paramètre que tu initialises à 0 et que tu montes à 1 si la lettre correspond à ton mot et en fin de programme tu fais un simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if o==1:
    	print 'True'
    else:
    	print 'False'

Discussions similaires

  1. Encore des problèmes avec le BDE
    Par Flint dans le forum C++Builder
    Réponses: 19
    Dernier message: 31/12/2007, 23h26
  2. [Dates] Encore un problème de date
    Par philippef dans le forum Langage
    Réponses: 1
    Dernier message: 12/01/2006, 21h30
  3. Encore des problèmes de variables
    Par mat99 dans le forum Langage
    Réponses: 1
    Dernier message: 18/11/2005, 10h26
  4. Réponses: 8
    Dernier message: 10/08/2004, 11h49
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 18h22

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