【发布时间】:2020-05-31 19:00:49
【问题描述】:
我正在尝试学习 python,但在这个问题上苦苦挣扎。
想象一下这种情况:
1- 用户按下按钮 1 和按钮 2 = 程序需要“做一些”
2 - 用户按下按钮 1 和按钮 2,然后按下按钮 3 = 我可以“做一些 2”
3 - 用户按下按钮 2 和按钮 1,然后按下按钮 3 = 我可以“做一些 2”
但是
4 - 如果用户在 button1 和 button2 之前按下 button3 = “do some2”对我来说不行,我只需要“do some”
所以首先按下哪个按钮的顺序对我的目的很重要
def button1_pressed(): # Returns true if the left mouse button is pressed
button1_state = win32api.GetKeyState(0x01)
return button1_state < 0
def button2_pressed(): # Returns true if the right mouse button is pressed
button2_state = win32api.GetKeyState(0x02)
return button2_state < 0
def button3_pressed(): # Returns true if the M button is pressed
button3_state = win32api.GetKeyState(0x4D)
return button3_state < 0
while True:
while button1_pressed() and button2_pressed(): # No matter which one is pressed first to me
print("do some")
while button3_pressed(): # Only if it is pressed after button1 and button2 are pressed
print("do some2")
if button2_pressed() == 0:
break # this only breaks the inner while loop
break # added an extra break else it would just be stuck in an endless loop
如果有人给我一些帮助,我将不胜感激。
【问题讨论】:
-
为什么我们要把这个循环?你想达到什么目的?
标签: python python-3.x nested-loops