Partage
  • Partager sur Facebook
  • Partager sur Twitter

Explication d'un code

Sujet résolu
    18 mai 2018 à 16:36:09

    Bonjour a tous,

    voilà je suis en train de faire des exercice sur France IOI en Python.

    Exercice étant  de faire faire au robot , aller chercher les anneaux  dans l'ordre (de gauche à droite) et les ramener un par un à la case de départ.

    et j'aimerais si possible que quelqu’un est la bonté d’âme de m'expliquer le code suivant ligne par ligne ( surtout la ligne avec for loop in range(anneau):

    Je vous remercie d'avance.

    anneau = 1
    for loop in range(10):
       for loop in range(anneau):
          droite()
       ramasser()
       for loop in range(anneau):
          gauche()  
       deposer()
       anneau = anneau + 1

    -
    Edité par Moukil01 18 mai 2018 à 16:39:12

    • Partager sur Facebook
    • Partager sur Twitter
      18 mai 2018 à 18:05:37

      Salut :)

      anneau a comme valeur 1, donc :

      for loop in range(anneau):

      est pareil que :

      for loop in range(1)

      qui signifie que le programme effectue anneau fois (1 fois) les instructions indentées dans ce for. En gros, ces boucles, dans ce cas, ne servent à rien.


      • Partager sur Facebook
      • Partager sur Twitter
        18 mai 2018 à 18:10:38

        Je comprend un peu mieux merci , aurai-tu la gentillesse (si je peux abuser de celle-ci) de me faire un petit exemple sans les boucles qui ne serve a rien ?

        je te remercie pour ta réponse .

        • Partager sur Facebook
        • Partager sur Twitter
          18 mai 2018 à 18:16:30

          for loop in range(1):
              instruction 1
              instruction 2
              ...
              instruction n

          équivaut à :

          instruction 1
          instruction 2
          ...
          instruction n

          tu remarques bien qu'ici la boucle ne sert à rien.

          • Partager sur Facebook
          • Partager sur Twitter
            18 mai 2018 à 18:18:35

            Effectivement , je te remercie beaucoup et encore merci d'avoir pris le temps de m'expliquer .

            bonne journée a toi =)

            • Partager sur Facebook
            • Partager sur Twitter
              18 mai 2018 à 18:31:05


              Salut,

              Le Cobriste 128 a écrit:

              Salut :)

              anneau a comme valeur 1, donc :

              for loop in range(anneau):

              est pareil que :

              for loop in range(1)

              qui signifie que le programme effectue anneau fois (1 fois) les instructions indentées dans ce for. En gros, ces boucles, dans ce cas, ne servent à rien.


              Sans trop m'avancer, je dirais que tu n'as pas vraiment répondu à sa question... En effet, ces deux boucles for (qui ne sont résolument pas inutiles :lol:)  sont exécutées 10 fois au total, et chaque fois avec une valeur différente de "anneau". Donc en gros ce programme fais faire à ton robot ceci :

              • Un aller-retour de 1 case (car anneau vaut d'abord 1)
              • Puis un aller-retour de 2 case (car anneau vaut ensuite 2)
              • Puis un aller-retour de 3 case (car anneau vaut ensuite 3)
              •  ...
              • Enfin un aller-retour de 10 case (car anneau vaut finalement 10)

              Le tout en récupérant l'anneau après chaque aller, et le déposant après chaque retour.

              -
              Edité par __Nicolas__ 18 mai 2018 à 18:35:45

              • Partager sur Facebook
              • Partager sur Twitter
                18 mai 2018 à 18:33:34

                Purée, oui, j'avais pas lu le code en entier et donc pas fait attention à la ligne 9.
                • Partager sur Facebook
                • Partager sur Twitter
                  18 mai 2018 à 18:54:15

                  Re merci bien pour vos explication =)

                  (du coup c'est carrément plus clair en faite ^^)

                  bonne journée a vous

                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 mai 2018 à 13:39:20

                    Le Cobriste 128 a écrit: > Purée, oui, j'avais pas lu le code en entier et donc pas fait attention à la ligne 9.

                    C'est entre autre pour ce genre de raison qu'il est préférable d'avoir la variable anneau directement gérée par la boucle for. On pourrait supprimer les lignes 1 et 9 et remplacer la 2 par for anneau in range(1, 11):.

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Explication d'un 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