Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pendu et lettres dupliquees

    2 janvier 2017 à 11:10:54

    Salut, 

    Je suis en train de realiser le jeu du pendu et mon programme marche plutot bien sauf dans le cas ou on a  une lettre dupliquee. En effet, le programme s'arrete a la premiere fois qu'il trouve la lettre.

    import os
    mot = list('classe')
    vie = 10
    print(' le mot contient ', len(mot), 'lettre')
    resultat = ['-']*len(mot)
    while vie > 0 :
        
            lettreu = input('veuillez choisir une lettre : ')
            if lettreu in mot :
                print ('la lettre ', lettreu,' est presente dans le mot ')
    
                resultat[mot.index(lettreu)] = lettreu
                print(''.join(resultat))
                print('il vous reste ',vie,' vie')
    
    
    
            if lettreu  not in mot  :
                print('la lettre',lettreu,' n\'est pas presente dans ce mot ' )
    
                vie = vie - 1
                print('il vous reste ',vie,' vie')
    
            if resultat == mot:
               print(' le mot est',''.join(mot), 'et vous gagnez')
               vie = 0
           
      
    
    os.system('pause')
    

    Voila le code. C'est peut etre parce que index ne peut prendre qu'une seule valeur. Ma question est comment je peux faire pour que le programme cherche les positions d'une lettre dupliquee ?

    Merci d'avance,

    -
    Edité par philippeh99 2 janvier 2017 à 11:12:57

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      2 janvier 2017 à 11:46:41

      >>> mot = list('classe')
      >>> resultat = ['-'] * len(mot)
      >>> lettre = 's'
      >>> for index, car in enumerate(mot):
      ...     if car == lettre:
      ...         resultat[index] = lettre
      ... 
      >>> resultat
      ['-', '-', '-', 's', 's', '-']
      >>> ''.join(resultat)
      '---ss-'
      
      évite les boucles while, apparemment, beaucoup de débutants se trompent en l'utilisant... la boucle for est plus naturelle pour ce type d'exercice.
      • Partager sur Facebook
      • Partager sur Twitter
        2 janvier 2017 à 12:29:19

        oldProgrammer a écrit:

        >>> mot = list('classe')
        >>> resultat = ['-'] * len(mot)
        >>> lettre = 's'
        >>> for index, car in enumerate(mot):
        ...     if car == lettre:
        ...         resultat[index] = lettre
        ... 
        >>> resultat
        ['-', '-', '-', 's', 's', '-']
        >>> ''.join(resultat)
        '---ss-'
        

        évite les boucles while, apparemment, beaucoup de débutants se trompent en l'utilisant... la boucle for est plus naturelle pour ce type d'exercice.


        Merci beaucoup pour ton aide, mais je me perds un peu. Pourrais-tu remplacer ce qu'il faut dans mon code source ?

        Desole du derangement et encore merci.

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          2 janvier 2017 à 12:34:33

          philippeh99 a écrit:

          oldProgrammer a écrit:

          >>> mot = list('classe')
          >>> resultat = ['-'] * len(mot)
          >>> lettre = 's'
          >>> for index, car in enumerate(mot):
          ...     if car == lettre:
          ...         resultat[index] = lettre
          ... 
          >>> resultat
          ['-', '-', '-', 's', 's', '-']
          >>> ''.join(resultat)
          '---ss-'
          

          évite les boucles while, apparemment, beaucoup de débutants se trompent en l'utilisant... la boucle for est plus naturelle pour ce type d'exercice.


          Merci beaucoup pour ton aide, mais je me perds un peu. Pourrais-tu remplacer ce qu'il faut dans mon code source ?

          Non !

          • Partager sur Facebook
          • Partager sur Twitter

          Pendu et lettres dupliquees

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown