Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de boucle while avec un module.

    12 août 2018 à 16:28:17

    Bonjour à tous,

    J'apprends pas à pas la programmation en Python et je rencontre un problème :

    J'ai un programme principal contenant une boucle While et je tente de la faire se poursuivre dans un module et ressortir de ce module le cas échéant.

    Message d'erreur : SyntaxError: 'continue' not properly in loop.

    Je tente de trouver une solution depuis des heures...

    Merci de votre aide !!! ;)

    • Partager sur Facebook
    • Partager sur Twitter
      12 août 2018 à 17:32:07

      Salut :)

      J'ai eu cette erreur. C'est simple, continue n'est pas dans la boucle while. Normalement, continue est une instruction d'une condition qui se trouve dans une boucle.

      Exemple, je veux afficher 0 à 9 sans 4 :

      nombre = 0
      while nombre < 10:
          if nombre == 4:
              continue
          else:
              print(nombre)
          nombre += 1
      
      # avec for :
      for i in range(10):
          # pareil que dans while mais on retire la ligne
      # nombre += 1



      • Partager sur Facebook
      • Partager sur Twitter
        12 août 2018 à 18:31:41

        Merci pour ta réponse, mais quand j'importe mon module qui contient des boucles 'if' avec des 'continue', ces derniers devraient me renvoyer a ma boucle 'while' qui est en dehors du module !

        Enfin, C'est ce que je voudrais faire... ;)

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          12 août 2018 à 18:42:34

          if n'est pas une boucle !

          Ce que tu tentes de faire semble rendre la fonction exec indispensable... hors, elle ne l'est absolument pas, si ce n'est pour du code très sale.

          Le plus simple aurait été d'exprimer le problème de base pour qu'on t'aide à créer un code propre.

          • Partager sur Facebook
          • Partager sur Twitter
            12 août 2018 à 18:42:55

            Par exemple :

            e=False
            while e!=True:
            
            a=2
            if a==2:
            from module import *
            # ------------Mon module-----------------
                print("Bonjour")
            else:
                print("au revoir")
                e=True
                continue
            # --------------------------------------

            -
            Edité par Rémy1976 12 août 2018 à 18:54:06

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              12 août 2018 à 19:37:00

              Ouaip mais non ! Impossible à faire, et en plus quelque soit le langage ;)

              C'est donc bien un problème de conception, comme je l'avais prédis...

              Donc il faudra nous raconter l'ensemble de l'histoire pour qu'on te guide à faire cela proprement et syntaxiquement juste.

              • Partager sur Facebook
              • Partager sur Twitter
                13 août 2018 à 19:55:57

                Merci pour vos réponses.

                En fait je suis le cours Python de ce site et afin de bien maîtriser la première partie je tente d'améliorer  le jeu de roulette en y ajoutant d'autres types de paris (comme dans les vraies règles). C'est pourquoi je tente de mettre dans des modules le code pour chaque types de pari.

                C'est vrai que je dois revoir ma conception...

                Encore merci et je reviendrais !!!

                • Partager sur Facebook
                • Partager sur Twitter
                  19 août 2018 à 11:49:59

                  oldProgrammer a écrit: > et en plus quelque soit le langage ;)

                  Oh si, c'est ainsi que fonctionnent les directives préprocesseur en C.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Problème de boucle while avec un module.

                  × 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