Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème avec mon code

    3 août 2021 à 13:51:17

    bonjour

    je suis un cours de openclassrooms depuis hier, j'en suis arrivé aux boucle et au moment où il faut coder.

    il me demandait de coder un programme avec une boucle for et la fonction range pour additionner tout les 100 premiers nombres.

    j'ai réussi à le coder comme demander dans l'énoncer et le faire marcher dans la console mais le site ne veux pas me valider ma réussite.

    pouvez-vous me dire où ai-je eu faux.

    mon code :

    solution = 0
    for i in range(101):
        solution = solution + i
        print(solution)

    -
    Edité par TomT2 3 août 2021 à 13:52:10

    • Partager sur Facebook
    • Partager sur Twitter
      3 août 2021 à 14:18:16

      Je pense que le print ne doit pas être dans la boucle.
      • Partager sur Facebook
      • Partager sur Twitter

      Python c'est bon, mangez-en. 

        3 août 2021 à 15:31:03

        Les 100 premier nombres vont de 0 à 99 et non de 0 à 100

        -
        Edité par Nephthys 3 août 2021 à 15:31:30

        • Partager sur Facebook
        • Partager sur Twitter
          3 août 2021 à 15:36:22

          Bonjour,

          Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
          Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

          Pour plus d'informations, nous vous invitons à lire les règles générales du forum

          Merci de colorer votre code à l'aide du bouton Code

          Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: python;">Votre code ici</pre>.

          Merci de modifier votre message d'origine en fonction.

          Mauvais titre

          Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.

          Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).

          De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.

          Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.

          Pour modifier votre titre, éditez le premier message de votre sujet.

          (titre originel : problème avec mon code)

          Liens conseillés

          • Partager sur Facebook
          • Partager sur Twitter
            3 août 2021 à 16:17:22

            ton code est bon (hormis le fait de sortir l'affichage de la boucle pour ne pas avoir les étapes du calcul), je pense que c'est la condition de vérification qui est mal faite.

            ça attend, il me semble, dans le code, une ligne solution=5050 pour avoir la bonne solution (5050 étant la bonne réponse)

            Quand, au point 2, il est dit "# 2) Assignez le résultat obtenu dans la variable "solution" pour vérification", c'est au sens littéral de mettre le résultat de la boucle, dans la variable (donc tu fais ta boucle au dessus, tu visualises le résultat et tu copies le résultat et tu l'affectes à solution 

            -
            Edité par umfred 3 août 2021 à 16:18:06

            • Partager sur Facebook
            • Partager sur Twitter
              3 août 2021 à 18:11:19

              @umfred: je ne t'ai pas trouvé tout à fait limpide ...
              Ce serait plus simple de dire de mettre le print en dehors de la boucle en ramenant l'indentation au même niveau que le for, ici au début de la ligne.
              Le range est correct, il commence à 0 plutôt que 1, mais 0+n = n après tout ...
              Ce petit exercice est une bonne occasion de tester les différentes variantes du range avec 2 et 3 valeurs.
              On choisit un intervalle plus court et on affiche la valeur de  i  dans la boucle cette fois-ci.
              • Partager sur Facebook
              • Partager sur Twitter

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

                3 août 2021 à 18:24:58

                je faisais la piqure de rappel du message de josmiley en fait dans ma parenthèse.
                l'essentiel de ma réponse était sur le fait que pour valider le code, il faut qu'il y ai la ligne de code

                solution=5050

                Dans le code, pour que le test soit OK, il faut en faire littéralement suivre les consignes: tu écris ta boucle, tu lance le run, tu copies la valeur du résultat sur la ligne "solution=" et tu lances la vérification

                • Partager sur Facebook
                • Partager sur Twitter
                  3 août 2021 à 22:56:42

                  Il y a deux autres alternatives ...
                  La somme des nombres de 1 à N est N*(N+1)//2
                  ou
                  sum(i for i in range(101))
                  et le sachant:
                  print(5550)
                  ...
                  Ça remet encore en question les sites "automatiques" pour lesquels on ne sait pas toujours ce qu'ils attendent ...
                  • Partager sur Facebook
                  • Partager sur Twitter

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

                    4 août 2021 à 12:14:53

                    là, on peut voir ce qu'il attend, il faut dérouler la tâche en cliquant sur le bouton > à sa droite, il y a en bas un "menu" Code Pattern qui en le déroulant (toujours en appuyant sur le bouton > à sa droite) affiche une regexp de ce qu'il attend.

                    Description
                    Searched your code for a specific pattern:
                    ^solution = 5050$

                    • Partager sur Facebook
                    • Partager sur Twitter

                    problème avec mon code

                    × 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