Partage
  • Partager sur Facebook
  • Partager sur Twitter

réalisez un dictionnaire

réalisez un dictionnaire

Sujet résolu
    27 juin 2020 à 19:26:44

    Bonjour Tout le monde 

    Je suis entrain d’essayer de fait l'exercice  réalisez un dictionnaire 

    https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/233322-tp-realisez-un-dictionnaire-ordonne

    Mais dans le correction je ne comprend pas la ligne 7 et 12

    def __repr__(self):
            """Représentation de notre objet. C'est cette chaîne qui sera affichée
            quand on saisit directement le dictionnaire dans l'interpréteur, ou en
            utilisant la fonction 'repr'"""
            
            chaine = "{"
            premier_passage = True
            for cle, valeur in self.items():
                if not premier_passage:
                    chaine += ", " # On ajoute la virgule comme séparateur
                else:
                    premier_passage = False
                chaine += repr(cle) + ": " + repr(valeur)
            chaine += "}"
            return chaine

    -
    Edité par Omoji 27 juin 2020 à 19:27:00

    • Partager sur Facebook
    • Partager sur Twitter

    Doucement mais Surement 

      27 juin 2020 à 21:30:16

      Ligne 7 on crée une variable premier_passage et on lui attribue la valeur True (c'est donc un booléen).

      Ligne 12 on change cette valeur pour False

      Ça permet d'éviter d'insérer le séparateur (la virgule) avant le premier élément inséré dans la chaîne de caractères.

      • Partager sur Facebook
      • Partager sur Twitter

      Blond, bouclé, toujours le sourire aux lèvres...

        28 juin 2020 à 0:21:07

        Bonjour 

        Merci de votre réponse . Mais comment il sait c'est premier élément ou pas ?

        -
        Edité par Omoji 28 juin 2020 à 0:24:48

        • Partager sur Facebook
        • Partager sur Twitter

        Doucement mais Surement 

          28 juin 2020 à 1:04:47

          La variable vaut True au début, et dès le premier tour de boucle on entre dans le else ou elle passe à False, donc on sait que les tours de boucle suivants ne sont pas le premier.
          • Partager sur Facebook
          • Partager sur Twitter

          Blond, bouclé, toujours le sourire aux lèvres...

            28 juin 2020 à 22:56:52

            Merci beaucoup :) .

            Encore une question, comment ça se fait qu' il passe directement dans le else premier tout ?

            -
            Edité par Omoji 29 juin 2020 à 17:09:15

            • Partager sur Facebook
            • Partager sur Twitter

            Doucement mais Surement 

              30 juin 2020 à 12:45:32

              Bonjour 

              Merci 

              Oui, mais il ne répond pas à ma question car j’essaye de comprend la logique.

              • Partager sur Facebook
              • Partager sur Twitter

              Doucement mais Surement 

                30 juin 2020 à 12:54:37

                Omoji a écrit:

                Encore une question, comment ça se fait qu' il passe directement dans le else premier tout ?

                Parce-que premier_passage vaut True, il rentre dans le bloc else puis prend la valeur False et par la suite entrera dans le bloc if

                • Partager sur Facebook
                • Partager sur Twitter

                Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
                La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

                  30 juin 2020 à 14:54:36

                  Bonjour 

                  Merci de votre réponse.

                  ça veut dire que au  premier tour, il a sauter jusqu'à ligne 12 en ignorant la ligne 8 , 9, 10 car y'a variable premier_passage au False à la ligne 12 ?

                  Cordialement 

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Doucement mais Surement 

                    30 juin 2020 à 15:08:48

                    Euh, tu connais le principe des conditions if/else ?

                    Là dans la boucle à chaque fois la condition du if est évaluée, si elle est vraie on exécute le bloc de code du if, si elle est fausse on entre dans le bloc de code du else.

                    Si ce genre de truc n'est pas clair pour toi, n'hésite pas à reprendre un cours à ce chapitre et à tester des exemples toi même (fondamental de tester des bouts de code pour comprendre).

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Blond, bouclé, toujours le sourire aux lèvres...

                      30 juin 2020 à 17:59:30

                      Cet exercice est assez loin dans le cours et requière beaucoup de connaissances.
                      Je suis surpris que tu ne saisisses pas encore le if ... else et les booléens.
                      Il ne suffit pas de faire des copier-coller et de tester à l'aveugle ...
                      (je suis aveugle et je ne le fais pas ...)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Le Tout est souvent plus grand que la somme de ses parties.

                        30 juin 2020 à 19:48:34

                        Bonjour 

                        Tout d’abord merci à vous tous surtout LoupSolitaire qui a pris patience à me fait comprendre.

                        Je connais la if/else, pour ce qu'ont avoir du mal avec les programmation ça tire un peu avec la logique mais je commence à comprend. :)

                        Et pour les nouveaux comme moi, qui a du mal à comprend le premier coup :

                        La ligne 7 : Premier_passage vaut "Vrai"

                        La ligne 8 : On rentre dans le boucle for 

                        La ligne 9 : On rentre dans le condition " Si Premier_passage n'est pas Vrai, on ajouter " ,"   ,Sinon Premier_passage vaut "Faux" "

                        pour la premier tour premier_passage vaut Vrai, donc il a passer directement au bloc "else", qui change de variable de Premier_passage en "Faux".  puis il sortir de conditionde if en retourner  les variable cle et valeur  (chaine += repr(cle) + ": " + repr(valeur).

                        Ensuite il reprend le boucle, il rentre dans la condition "if" mais cette fois-ci, la variable Premier_passage vaut faux,  donc il ajouter ","  puis sortir de la condition de if.

                        Je ne sais pas si j'ai bien expliquer ou pas cette logique pour des nouveaux comme moi qui a du mal à comprendre.:D

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Doucement mais Surement 

                          30 juin 2020 à 22:59:47

                          Salut,
                          À première vue, ça semble correct.
                          Mais, as-tu testé le code de ce TP?
                          Une façon de comprendre est d'imprimer les valeurs critiques et les deux branches d'un if si on ne sais pas si on y va ou pas.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Le Tout est souvent plus grand que la somme de ses parties.

                          réalisez un dictionnaire

                          × 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