IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Interrompre une boucle while à l'appuie d'une touche


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Interrompre une boucle while à l'appuie d'une touche
    Bonjour,
    je viens sur ce forum pour vous demander de l'aide.
    Cela fait plusieurs heures que je cherche une manière pour interrompre ma boucle while des que j'appuie sur une touche

    (pour linstant j'utilise le CTRL-C mais je souhaiterais que je puisse l'arreter des qu'une touche de mon clavier est enfoncée)


    voici mon programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    import RPi.GPIO as GPIO 
    import time  
     
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP)
     
    while True:                          #Je ne sais pas quoi mettre à la place de "True"
      if GPIO.input(11):
        print ("c'est true")
      else:
        print ("c'est false")
      time.sleep(2)
    Merci d'avance pour vos réponses

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Il existe une exception pour les interruptions clavier.

    Regardes si ceci te convient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    def main():
        x = 0
        while 1:
            try:
                x += 1
            except KeyboardInterrupt:
                print 'Stopped at:', x
                break
     
    main()

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Oui merci beaucoup pour ta réponse,

    J'aurais aimé une solution qui marche pour n'importe quelle touche.

    Mais c'est déjà très bien.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Mais ça, ça dépend de ton interface graphique. C'est elle qui capte les événements clavier.

Discussions similaires

  1. [Débutant] Quitter une boucle "while" à l'aide d'une touche
    Par Tibtib dans le forum MATLAB
    Réponses: 2
    Dernier message: 04/04/2011, 16h40
  2. Affectation de variable boucle FOR à l'intérieur d'une boucle WHILE
    Par Droïde Système7 dans le forum Débuter
    Réponses: 10
    Dernier message: 05/11/2007, 19h11
  3. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo