Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment sortire de la boucle while ?

Sujet résolu
    25 janvier 2015 à 17:22:35

    Bonjour à tous, je suis nouveau sur le forum mais après avoir bien cherché, je n'ai pas obtenu de réponses à ma question:
    Pourquoi mon programme ne sors pas de la boucle while quand je tape "stop"?

    Voici mon code:

    import time
    import os
    i = 1
    ######################################################################
    def generique():
        print ("01  10    10    1010   10 1001    0110110  0110")
        time.sleep(0.3)
        print ("100101   1001   10     1001       01       01  10")
        time.sleep(0.2)
        print ("01  10  10  01  1001   10 1001    0110110  0110")

    ######################################################################
    user = ""
    def getuser():
        user = ""
        user = raw_input()
        user = user.lower()
        user = user.split()

    ######################################################################
       
    def out():
        sys.exit(0)
       
    ######################################################################

    def clear():
        os.system('cls')

    ######################################################################
       
    generique()
    time.sleep(0.2)
    while i != 0:
        getuser()
        if "stop" in user:
            i = 0
       
    out()

    Il s'agit d'un code purement démonstratif.

    Merci d'avance.

    François

    -
    Edité par Fran6nd 25 janvier 2015 à 17:23:31

    • Partager sur Facebook
    • Partager sur Twitter
      25 janvier 2015 à 18:04:50

      Parce que user n'est pas en variable globale. Mais modifie plutot ta fonction pour qu'elle renvoie quelque chose, et récupère le dans une nouvelle variable que tu testeras.
      • Partager sur Facebook
      • Partager sur Twitter
        25 janvier 2015 à 18:28:07

        Merci pour la rapidité de la réponse.
        Je suis désolé, je débute et n'ai pas tout compris:
        Qu'est-ce que la fonction doit renvoyer?
        J'ai vu sur arduino un concept similaire que je n'ai pas bien compris...
        Je vais chercher dans cette voie.

        -
        Edité par Fran6nd 25 janvier 2015 à 18:30:25

        • Partager sur Facebook
        • Partager sur Twitter
          25 janvier 2015 à 18:34:12

          le cour http://openclassrooms.com/courses/langage-python/les-fonctions-1-2 n'est pour cela pas très clair dans mon esprit.
          • Partager sur Facebook
          • Partager sur Twitter
            26 janvier 2015 à 15:45:16

            C'est car tu ne modifies pas ta variable user, simple exemple :

            >>> user = ""
            >>> def getuser():
            ...     user="test"
            ... 
            >>> getuser()
            >>> user
            ''
            


            Le plus simple serait de donner un retour à ta fonction getuser() et récupérer cette valeur dans ta boucle while.

            • Partager sur Facebook
            • Partager sur Twitter
              27 janvier 2015 à 18:09:34

              Ok merci beaucoup.
              Cela me semble plus clair à présent.

              -
              Edité par Fran6nd 27 janvier 2015 à 18:09:57

              • Partager sur Facebook
              • Partager sur Twitter

              Comment sortire de la boucle while ?

              × 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