如何让 python 检测到按键?

How do i make python detect a key press?

我希望这段代码在按下按钮时说“嗨” 我使用 replit.com 或 repl.it 它说是一个错误:

File "main.py", line 18, in intro
if keyboard.KEY_DOWN("a"):
TypeError: 'str' object is not callable 

我正在尝试在 python 上制作单人游戏,但这样的错误不断出现

import tkinter as tk
from tkinter import *
import os
import random
import math
import pygame
from pygame.locals import * 
import sys
from sys import exit
import keyboard
from keyboard import *
window = pygame.init()
print("Wellcome to Math monopoply!!!\n")
time.sleep(1)
def intro():
  print("Hi")
  if keyboard.KEY_DOWN("a"):
    print("hi")
intro() 

这可能有帮助

import pygame #Import pygame
import sys #
pygame.init() #Initialise it

window = pygame.display.set_mode((1000,800)) #Create a 1000x800 window

while True: #while loop
    for event in pygame.event.get():
        if event.type == pygame.QUIT: #if the user presses the 'X' button
            pygame.quit() #De= initialise pygame
            sys.exit() #Exit
        if event.type == pygame.KEYDOWN: #if a key is pressed down
            if event.key == pygame.K_a: 
                print("Hi") 

您可以在此处阅读有关 pygame.event.get() 的更多信息

可以使用 pygame.key.get_pressed() 检测当前是否按住某个键。 pygame.key.get_pressed() returns 包含每个键状态的列表。如果按住某个键,则该键的状态为 True,否则为 False:

keys = pygame.key.get_pressed()
if keys[pygame.K_a]:
    # [...]

键盘事件(参见 pygame.event 模块)仅在键状态改变时发生一次。 KEYDOWN 事件在每次按下一个键时发生一次。您需要应用程序循环和事件循环来处理事件:

# application loop
run = True
while run:

    # event loop
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_a: 
                print("Hi")