提问人:tranquilo 提问时间:11/16/2023 最后编辑:Cliffordtranquilo 更新时间:11/16/2023 访问量:70
通过从用户获取输入来打破无限 while 循环
breaking out of an infinite while loop by getting inputs from the user
问:
我正在尝试让无限循环永远运行并持续发送数据。但是当用户按下键盘上的按钮时,它会脱离它。我尝试了下面的代码,但它会发送一次数据,然后询问您的输入等等。有没有办法让键盘的使用输入作为中断,而无需在每次发送数据时都要求用户的输入?
示例代码:
while 1:
m = input("press 's' to srart\npress 'n' to stop\n")
if m == 's':
print("Display")
elif m == 'n':
break
答:
0赞
CDubyuh
11/16/2023
#1
如果您能够使用软件包,则可以导入键盘
pip install keyboard
并执行如下操作:
import keyboard
while True:
# do something
if keyboard.is_pressed("n"):
print("n pressed, ending loop")
break
然后,您可以添加自己的逻辑,其中“s”将执行您希望它执行的操作。
评论
0赞
John Gordon
11/16/2023
keyboard.is_pressed("n")
仅当现在按下该键时为 true,而不是在之前按下时为 true。如果“执行某项操作”代码需要很长时间才能执行,则用户可能在这段时间内按下了该键,但在代码检查该键时,该键不再按下。
0赞
CDubyuh
11/16/2023
有趣的是,我不知道.is_pressed()以这种方式工作。.read_key() 会是更好的实现吗?
评论
while True:
while 1:
keyboard