簡體   English   中英

如何在不中斷程序的情況下停止用戶輸入的while循環?

[英]How to stop a while loop with a user input without interrupting the program?

如何無限循環 5 個 LED 燈以保持一個接一個地打開,直到用戶輸入一些東西? 我不希望用戶輸入中斷循環。 現在一切正常,除了在循環中間輸入中斷程序。

import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)

print("Press h to exit the program")

while True:

    GPIO.setup(19,GPIO.OUT)
    GPIO.output(19,True)
    time.sleep(0.5)
    GPIO.output(19,False)

    GPIO.setup(26,GPIO.OUT)
    GPIO.output(26,True)
    time.sleep(0.5)
    GPIO.output(26,False)

    GPIO.setup(22,GPIO.OUT)
    GPIO.output(22,True)
    time.sleep(0.5)
    GPIO.output(22,False)

    GPIO.setup(27,GPIO.OUT)
    GPIO.output(27,True)
    time.sleep(0.5)
    GPIO.output(27,False)

    GPIO.setup(17,GPIO.OUT)
    GPIO.output(17,True)
    time.sleep(0.5)
    GPIO.output(17,False)

    x = input("")

    if (x == "h"):
        print("Exiting the program")
        break

    GPIO.setwarnings(False)

GPIO.cleanup()

您可以使用第三方keyboard庫很容易地做到這一點。

import keyboard

while True:
    print(1)
    print(2)
    print(3)
    print(4)
    if keyboard.is_pressed("h"):
       break

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM