首页 > 解决方案 > 键盘模块返回真假语句

问题描述

我目前正在使用 pypi 键盘模块,并尝试在按下键(例如“向上”键)时按下键时返回 true 语句,然后在未按下键时返回 false。我最初可以让程序通过循环打印 true 或 false,唯一的问题是我必须在 true 之后中断或遭受 true 的无限循环打印。我希望程序不会中断,除非我按下 esc 键。

import keyboard
x = keyboard.read_key()
while True:
    try:
        if x == "up":
            print("True")
        elif x != "up":
            print("False")
    except:
        keyboard.wait("esc")

标签: python-3.xkeyboard-events

解决方案


我能够弄清楚这一点,我觉得很傻,我只是想问这个问题来让思考过程继续下去。我最终得到:

import keyboard
import time
bulb = False
def LightSwitch():
    global bulb
    if bulb == False:
        print("The light is off")
        time.sleep(0.1)
        bulb = True
    else:
        print("The light is on")
        time.sleep(0.1)
        bulb = False
while True:
    keyboard.add_hotkey("up", LightSwitch)
    keyboard.wait()

推荐阅读