我想这段代码运行在一个循环,并为我按下#2键,每次它执行一个单独的行动不类似于第一次按下键。我感谢任何和所有的帮助,并提前感谢你!
from tkinter import *
root = Tk()
def key(event):
if event.keysym == 'q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m':
def read_number(path):
print("do nothing")
elif event.keysym =='2':
print("Do first action")
elif event.keysym =='2':
print("Do another different action")
# if event.keysym =='2':
root.bind_all('<Key>', key)
root.mainloop()
from tkinter import *
root = Tk()
def key(event):
if event.keysym == 'q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m':
def read_number(path):
print("hi")
elif event.keysym =='2':
if event.keysym =='2':
print("Do another action")
# if event.keysym =='2':
root.bind_all('<Key>', key)
root.mainloop()
3条答案
按热度按时间pgvzfuti1#
对于状态机来说,这听起来是一个合理的例子。状态机允许你基于所有先前的输入来做出下一个响应。基本上,你必须决定有多少种不同的状态(解释输入的不同方式),以及在每种情况下如何处理所有不同的可能输入。
我没有太多的时间来写更多的东西,但是这里有一篇关于状态机的Wikipedia文章的链接:https://en.wikipedia.org/wiki/Finite-state_machine
我会从那里开始,看看你是否能弄清楚这样的东西如何能帮助你。也许还会寻找一些更多的教程描述。祝你好运!
yc0p9oo02#
e1xvtsh33#
声明一个布尔变量,并在第一个操作运行时切换它。代码如下所示: