Python 3.x 输入功能完成后,如何触发自动回车键?
我有这个代码,但它应该是一个死亡计数器,用户应该按+或-或r或q,它会自动递增,而不需要用户按enter键。我试过键盘。按下键盘和释放键(“回车”)和键盘。添加热键(“+”,death=death0.IncreaseDeath()),但第二个不起作用,第二个在输入完成后工作,用户按下回车键,现在它在输入上发出垃圾邮件(这不是我想要的,我希望用户键入一个字母,然后让它自动按Enter键。我如何做到这一点,以便用户不需要在输入后按Enter键Python 3.x 输入功能完成后,如何触发自动回车键?,python-3.x,Python 3.x,我有这个代码,但它应该是一个死亡计数器,用户应该按+或-或r或q,它会自动递增,而不需要用户按enter键。我试过键盘。按下键盘和释放键(“回车”)和键盘。添加热键(“+”,death=death0.IncreaseDeath()),但第二个不起作用,第二个在输入完成后工作,用户按下回车键,现在它在输入上发出垃圾邮件(这不是我想要的,我希望用户键入一个字母,然后让它自动按Enter键。我如何做到这一点,以便用户不需要在输入后按Enter键 choice = input("
choice = input(">>")
if choice.lower() == "+":
death = death0.IncreaseDeath()
elif choice.lower() == "-":
death = death0.DecreaseDeath()
elif choice.lower() == "r":
death = death0.ResetDeath()
elif choice.lower() == "q":
sys.exit()
也尝试了此操作,但之前的代码是:
if msvcrt.kbhit():
key_stroke = msvcrt.getch()
if key_stroke == b'+':
death = death0.IncreaseDeath()
elif key_stroke == b'-':
death = death0.DecreaseDeath()
elif key_stroke == b'r':
death = death0.ResetDeath()
elif key_stroke == b'q':
sys.exit()
不会显示,也不会提示用户按什么以及是否实际递增。希望此代码能有所帮助
def DeathCount(death,DEATH_NAME):
while True:
os.system('cls' if os.name == 'nt' else 'clear')
print ("####################")
print (f" {DEATH_NAME}: {death} ")
print ("####################")
print (" * + : increase * ")
print (" * - : decrease * ")
print (" * r : reset * ")
print (" * q : quit * ")
print ("####################")
除了安装getkey(encode error)有困难外,我还发现有人的github fork安装得很好,一旦我让它工作起来,它就帮了我大忙,谢谢你的帮助!
import sys
from getkey import getkey
death0 = 15
death = death0
print(death)
while True:
print(">>")
choice = getkey()
if choice.lower() == "+":
death += 1
elif choice.lower() == "-":
death -= 1
elif choice.lower() == "r":
death = death0
elif choice.lower() == "q":
sys.exit()
else:
print("invalid input")
print(death)