如何解决使用“if”和“else”循环 - 替代“break”
如果(例如)leg1_horse1.value==1 为 TRUE,我想中断以下代码,代码将“中断”并在此代码的最底行之后继续。
if leg1_horse1.value==1:
one=pyautogui.locateOnScreen('1.png')
pyautogui.moveto(one,duration=1)
pyautogui.move(670,duration=1)
pyautogui.click()
else:
pyautogui.press('down')
if leg1_horse1.value==2:
two=pyautogui.locateOnScreen('2.png')
pyautogui.moveto(two,duration=1)
pyautogui.click()
else:
pyautogui.press('down')
if leg1_horse1.value==3:
three=pyautogui.locateOnScreen('3.png')
pyautogui.moveto(three,duration=1)
pyautogui.click()
else:
pyautogui.press('down')
if leg1_horse1.value==4:
four=pyautogui.locateOnScreen('4.png')
pyautogui.moveto(four,duration=1)
pyautogui.click()
else:
pyautogui.press('down')
if leg1_horse1.value==5:
five=pyautogui.locateOnScreen('5.png')
pyautogui.moveto(five,duration=1)
pyautogui.click()
else:
pyautogui.press('down')
if leg1_horse1.value==1:
one=pyautogui.locateOnScreen('1.png')
pyautogui.moveto(one,duration=1)
pyautogui.click()
***break***
else:
pyautogui.press('down')
if leg1_horse1.value==2:
two=pyautogui.locateOnScreen('2.png')
pyautogui.moveto(two,duration=1)
pyautogui.click()
***break***
else:
pyautogui.press('down')
if leg1_horse1.value==3:
three=pyautogui.locateOnScreen('3.png')
pyautogui.moveto(three,duration=1)
pyautogui.click()
***break***
else:
pyautogui.press('down')
if leg1_horse1.value==4:
four=pyautogui.locateOnScreen('4.png')
pyautogui.moveto(four,duration=1)
pyautogui.click()
***break***
else:
pyautogui.press('down')
if leg1_horse1.value==5:
five=pyautogui.locateOnScreen('5.png')
pyautogui.moveto(five,duration=1)
pyautogui.click()
***break***
else:
pyautogui.press('down')
这当然行不通。我觉得这里有某种嵌套循环会有所帮助 - 但我无法完全理解它。
先谢谢你。
解决方法
if leg1_horse1.value==1:
one=pyautogui.locateOnScreen('1.png')
pyautogui.moveTo(one,duration=1)
pyautogui.move(670,duration=1)
pyautogui.click()
elif leg1_horse1.value==2:
two=pyautogui.locateOnScreen('2.png')
pyautogui.moveTo(two,duration=1)
pyautogui.click()
elif ...==...:
.
.
.
else:
pyautogui.press('down')
如果第一个条件匹配,另一个将不会执行。
编辑
看到你的代码,我认为有一个更好的选择,因为除了一个命令参数外,所有语句看起来都一样:
image_map = {1:'1.png',2:'2.png',...}
if leg1_horse1.value in image_map.keys():
one=pyautogui.locateOnScreen(image_map[leg1_horse1.value])
pyautogui.moveTo(one,duration=1)
pyautogui.click()
else:
pyautogui.press('down')
使用它您将能够快速添加一个选项,而无需每次添加 5 行并且更易于阅读
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。