Partage
  • Partager sur Facebook
  • Partager sur Twitter

exercice boucles

console n'accepte pas mon code

    14 septembre 2022 à 13:13:10

    Boujour

    Je suis entrain de réaliser un cours sur votre site à propos de python
    Je suis au chapitre des boucles à la partie je code moi même
    On demande de faire la somme de la suite arithmétique des 100 premiers entiers naturels.
    J'ai fais le code suivant, j'ai la bonne réponse mais votre interface n'accepte pas la réponse.
    x=range(0,101)
    y=0
    for T in x :
    y=y+T
    print (y)
    Je pense que je ne pas fais la méthode voulu mais j'aimerais bien savoir ce qu'elle est

    Pouvez vous me l'indiquer s'il vous plaît
    Bien cordialement

    • Partager sur Facebook
    • Partager sur Twitter
      14 septembre 2022 à 13:36:28

      Bonjour,

      D'après l'énoncé, ne faut-il pas garder la variable solution:

      solution = y

      et ensuite écrire:

      print(f"{solution} est la bonne valeur de la somme !" if solution == (100 * 101) / 2 else "Raté")

      ?

      A part ça, on peut écrire directement:

      for T in range(0,101):

      -
      Edité par Phil_1857 14 septembre 2022 à 13:37:38

      • Partager sur Facebook
      • Partager sur Twitter
        14 septembre 2022 à 13:39:31

        Bonjour,

        Comme à l'école faut lire tout l'énoncé avant de commencer :

        Pour information : 
        vous êtes sur les pas du célèbre mathématicien Gauss
        https://fr.wikipedia.org/wiki/Somme_(arithm%C3%A9tique)
        """
        
        # 1) Utilisez une boucle et la fonction "range" pour calculer la somme.
        # Testez et récupérez le résultat en faisant tourner le code (> "Run")
        
        # 2) Assignez le résultat obtenu dans la variable "solution" pour vérification
        solution = 0
        
        for i in range(101):
            solution+=i
        
        # Ne touchez pas le print ci-dessous 
        print(f"{solution} est la bonne valeur de la somme !" if solution == (100 * 101) / 2 else "Raté")
        

        Qui, par ailleurs, peut s'écrire plus simplement : solution = sum(range(101))


        PS : Ou moins gourmand (100 * 101) / 2 comme indiqué

        -
        Edité par ErispoeLeNarvalo 14 septembre 2022 à 13:43:05

        • Partager sur Facebook
        • Partager sur Twitter
          14 septembre 2022 à 14:13:49

          Merci du retour 

          En effet c'est plus rapide 

          MAIS Quand je fais Run Check la tâche ne se valide pas 

          je ne comprends pas pourquoi 

          • Partager sur Facebook
          • Partager sur Twitter
            14 septembre 2022 à 14:54:27

            Encore une fois, le vérificateur de l'exercice attend que la valeur soit écrite en tout chiffre sur la ligne "solution = " (en respectant les espaces en plus)

            Donc tu écris ta boucle, tu lances le programme, tu lis la réponse de ta boucle, tu indiques le bon nombre sur la ligne "solution = " et tu lances le vérificateur (éventuellement tu relances le programme pour vérifier qu'il n'y a pas d'erreur)

            • Partager sur Facebook
            • Partager sur Twitter
              14 septembre 2022 à 17:39:35

              Re,

              Effectivement c'est mal fichu !

              Première fois que j'essaye un exercice du site. Ca sert à quelques choses de faire un Run checks ?

              Si tu as fais :

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

              Ou plus naïvement :

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

              C'est good !
              Ou même range(100) puisque le 0 est souvent considéré comme un entier naturel, tu n'auras pas le même résultat mais il est bon quand même ! ^^'


              -
              Edité par ErispoeLeNarvalo 14 septembre 2022 à 17:40:22

              • Partager sur Facebook
              • Partager sur Twitter
                14 septembre 2022 à 18:23:11

                Bon bref 

                toutes les solutions sont bonnes 

                mais le vérificateur de programme ne veux pas me donner ma fichue validation 

                tant pis le principale c'est que j'ai capté le code 

                Merci à vous 

                • Partager sur Facebook
                • Partager sur Twitter
                  14 septembre 2022 à 19:21:31

                  je répète, il manque la valeur trouvée (pas la variable, mais la valeur soit ici 5050) derrière le "solution = " de la ligne 17; soit écrire exactement

                  solution = 5050

                  En cliquant sur le > où il y a le petit 1 rouge, et en affichant le pattern attendu, tu verras la demande pour cette validation

                  • Partager sur Facebook
                  • Partager sur Twitter

                  exercice boucles

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  • Editeur
                  • Markdown