Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide à comprendre une fonction du jeu de pendu

Sujet résolu
    31 décembre 2016 à 15:41:03

    Bonjour,

    je ne comprends pas comment avec cette fonction on arrive à placer les lettres ou les "*" au bon endroit du mot:

    def recup_mot_masque(mot_complet, lettres_trouvees):
        """Cette fonction renvoie un mot masqué tout ou en partie, en fonction :
        - du mot d'origine (type str)
        - des lettres déjà trouvées (type list)
    
        On renvoie le mot d'origine avec des * remplaçant les lettres que l'on
        n'a pas encore trouvées."""
        
        mot_masque = ""
        for lettre in mot_complet:
            if lettre in lettres_trouvees:
                mot_masque += lettre
            else:
                mot_masque += "*"
        return mot_masque

    Merci pour vos explications.

    • Partager sur Facebook
    • Partager sur Twitter
      31 décembre 2016 à 15:49:48

      Hello,

      La fonction est pourtant explicite :

      On parcourt le mot à trouver mot_complet lettre par lettre, si la lettre fait partie des lettres_trouvees alors on l'écrit dans mot_masque, sinon on écrit "*" dans mot_masque.

      Exemple avec recup_mot_masque(abc, c) :

      • On est sur la lettre "a", elle ne fait pas partie des lettres trouvées donc mot_masque = "*".
      • On est sur la lettre "b", elle ne fait pas partie des lettres trouvées donc mot_masque = "**".
      • On est sur la lettre "c" qui elle fait partie des lettres trouvées donc mot_masque = "**c" et est retourné.

      -
      Edité par leo0617 31 décembre 2016 à 15:55:23

      • Partager sur Facebook
      • Partager sur Twitter
        31 décembre 2016 à 15:57:06

        leo0617 a écrit:

        Hello,

        La fonction est pourtant explicite :

        On parcourt le mot à trouver mot_complet lettre par lettre, si la lettre fait partie des lettres_trouvees alors on l'écrit dans mot_masque, sinon on écrit "*" dans mot_masque.

        Exemple avec recup_mot_masque(abc, c) :

        • On est sur la lettre "a", elle ne fait pas partie des lettres trouvées donc mot_masque = "*".
        • On est sur la lettre "b", elle ne fait pas partie des lettres trouvées donc mot_masque = "**".
        • On est sur la lettre "c" qui elle fait partie des lettres trouvées donc mot_masque = "**c" et est retourné.

        -
        Edité par leo0617 il y a moins de 30s


        Merci beaucoup!
        • Partager sur Facebook
        • Partager sur Twitter
          31 décembre 2016 à 16:21:22

          Pas de soucis,

          Pour les prochaines fois si tu ne comprends pas ce que fait une fonction, le mieux est de placer des print à l'intérieur de celle-ci afin de voir l'évolution du résultat et non pas le résultat final, ça aide beaucoup. Dans le cas de cette fonction ce serait un print(mot_masque) à l'intérieur de la boucle après les conditions.

          • Partager sur Facebook
          • Partager sur Twitter
            31 décembre 2016 à 16:25:57

            leo0617 a écrit:

            Pas de soucis,

            Pour les prochaines fois si tu ne comprends pas ce que fait une fonction, le mieux est de placer des print à l'intérieur de celle-ci afin de voir l'évolution du résultat et non pas le résultat final, ça aide beaucoup. Dans le cas de cette fonction ce serait un print(mot_masque) à l'intérieur de la boucle après les conditions.


            ça marche. Merci pour le conseil!
            • Partager sur Facebook
            • Partager sur Twitter

            Aide à comprendre une fonction du jeu de pendu

            × 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