使用按键重新启动While循环

米克尔

我正在尝试通过使用同一键来打破按键后重新启动while循环。基本上我正在寻找可以通过按键打开和关闭的while循环。到目前为止,我的代码仅通过按键即可停止循环,但是我不知道如何再次启动循环。

import keyboard
from time import sleep

key = "right shift"

while True:
    print("Running")
    sleep(0.5)
    if keyboard.is_pressed(key):
        break

我会描述我在这里尝试过的事情,但老实说我不知道​​。

编辑:对不起,由于一开始不清楚,但这就是我想要的:

如果您希望循环重新开始,则在当前循环周围放置另一个while循环,然后在该循​​环中放入一行,等待键按下,然后移至内部循环。

我已经完成了Kyle的建议,并且运行良好,除了必须按住钥匙才能停止它。我相信可以通过时机解决问题,这是我到目前为止的事情:

import keyboard
from time import sleep

key = "right shift"

while True:
    if keyboard.is_pressed(key):
        while True:
            print("Running")
            sleep(0.5)
            if keyboard.is_pressed(key):
                    sleep(1)
                    break
罗曼·佩列赫雷斯特

keyboard 模块具有更多功能,允许使用不同的挂钩/阻止程序。

只是keyboard.wait(key)用来阻止控制流,直到key被按下:

import keyboard
from time import sleep

key = "right shift"

while True:
    print("Running")
    sleep(0.5)
    if keyboard.is_pressed(key):
        print('waiting for `shift` press ...')
        keyboard.wait(key)

交互式输出示例:

Running
Running
Running
waiting for `shift` press ...
Running
Running
Running
Running
Running
waiting for `shift` press ...
Running
Running
Running
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章