【发布时间】:2021-10-31 13:14:08
【问题描述】:
我这里有一个自动化程序的一部分,用于在某些条件下点击屏幕。 我希望这段代码一遍又一遍地重复并在它单击坐标为 (867,647) 的位置时停止,此时它满足每个 if/elif 语句。 我试图将它放在while循环中但最终无法正常工作,但即使它有效,我认为它会无限重复多次,我不知道当它满足我的条件时如何停止它。你们能告诉我我应该如何把它放在while循环中以像我想要的那样运行吗?非常感谢你们!
if ((pyautogui.pixel(362,349)[0] == 76) and (pyautogui.pixel(362,349)[1] == 145) and (pyautogui.pixel(362,349)[2] == 186) ):
click (362,349)
time.sleep(0.1)
click (867,647)
elif ((pyautogui.pixel(1025,342)[0] == 17) and (pyautogui.pixel(1025,342)[1] == 129) and (pyautogui.pixel(1025,342)[2] == 181) ):
click (1025,342)
time.sleep(0.1)
click (867,647)
elif ((pyautogui.pixel(682,347)[0] == 15) and (pyautogui.pixel(682,347)[1] == 117) and (pyautogui.pixel(682,347)[2] == 169) ):
click (682,347)
time.sleep(0.1)
click (867,647)
else:
click(1026,649)
【问题讨论】:
-
while 循环的初始条件检查是什么
-
当然break有助于跳出循环,另外一种方式是可以在while的进入条件下停止无限循环。
-
只需在 while 循环中添加一个布尔值,并在满足 all.conditions 后将其设置为 false。
标签: python while-loop