首页 > 解决方案 > 在 Python 中检测按键

问题描述

我正在使用 Jupytor Notebook 学习 python,我想为我的第一个程序用 Python 编写一个打字辅导程序。我需要 python 来检测被按下的键,然后将其打印在屏幕上。我从 stackoverflow 获得了一些代码,并对其进行了修改。当只有一个字母可以按下时,该代码有效。问题是它打印了两次字母 - 为什么?我希望它打印一次。然后,当您为更多字母添加更多代码时,您必须按两次该字母才能使其出现在屏幕上一次。这是一个字母按键检测的代码。

import keyboard

while True:

    if keyboard.read_key() == chr(97):

        print (chr(97))

输出是

a
a

我认为输出只是一个“a”,因为只有一个打印语句。

这是您必须在字母出现在屏幕上之前按两次键时的代码。这是你第一次按下一个字母什么都没有发生,然后你再次按下那个字母,这就是它出现在屏幕上的时候。你可以看到代码是一样的,只是有更多的字母要检测。我想打印所有 26 个字母,只需按一次每个字母,然后将其打印到屏幕上一次。

import keyboard

while True:

    if keyboard.read_key() == chr(97):

        print("You pressed a")

    if keyboard.read_key() == chr(98):

        print("You pressed b")

    if keyboard.read_key() == chr(99):

        print("You pressed c")

    if keyboard.read_key() == chr(100):

        print("You pressed d")

这是一些输出

You pressed a

You pressed b

You pressed c

You pressed c

You pressed c

You pressed d

You pressed d

You pressed d

标签: pythonkeyboard

解决方案


推荐阅读