我目前正在构建一个 python 代码来玩二十一点,我需要能够在按键时调用某些函数,而不必在终端中。我发现这个键盘模块有帮助,但我遇到了这个问题。
def hit_or_stand(deck,hand):
global playing
print ("\nWould you like to Hit or Stand? Enter 'h' or 's'")
if keyboard.is_pressed('h'):
hit(deck,hand)
if keyboard.is_pressed('s'):
print("Player stands. Dealer is playing.")
playing = False
让我解释一下这个函数的作用,因为我不想让每个人都用整个代码超载。本质上,这个函数在循环中被调用,直到玩家决定点击 s ,它声明 play 为 False 并因此停止循环。如果玩家击中 h,则调用 hit 函数来抓一张牌。玩家可以抽出尽可能多的牌。
我现在的问题是这段代码不等待用户按键。它循环非常快地重复它。我只希望它在按下 h 或 s 后循环。
我尝试keyboard.wait('h')
在第一个 if 上方的行上使用,但是这不允许用户按 s 并因此将播放声明为 False。
我正在寻找的是类似的东西,keyboard.wait('h'or's')
但我知道这不起作用。
感谢您的帮助。我正在使用 python 3.7.9
编辑:我也指的是键盘模块: https ://pypi.org/project/keyboard/