【问题标题】:While loop for if, elif,while 循环 for if, elif,
【发布时间】: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


【解决方案1】:

您可以在click (867,647) 之后添加break。我创建了一个示例代码,但无法对其进行测试。你可以试试下面的代码:

while True:
    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)
        break
    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)
        break
    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)    
        break
    else:
        click(1026,649) 
    sleep(1)

【讨论】:

  • 好主意,谢谢,但你能告诉我如何将这些代码放在 while 循环下以使其工作。我对python很陌生,所以我不太了解这些概念。提前谢谢你。
猜你喜欢
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 2016-02-16
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 2013-04-22
相关资源
最近更新 更多