如何在不中断程序的情况下通过用户输入停止 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
如何无限循环 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