首页 > 解决方案 > 为什么我的嵌套循环没有继续到下一行代码?有人可以解释吗?

问题描述

所以我创建了一个嵌套循环,一切都很好,直到它完成,'#3',我的第三个'if'语句。之后,它不会继续执行“else”函数,也不会循环到第一个“if”语句。谁能解释一下?

import keyboard
import pyautogui as pg
import time
from selenium import webdriver

time.sleep(2)
while True:

if pg.locateOnScreen('battle.png') != None: #1
    pg.click('battle.png')
    time.sleep(3)
    pg.click('continue.png')

    while True:
        if pg.locateOnScreen('attack.png') != None: #2
            time.sleep(2)
            pg.click('attack.png')
            time.sleep(4)
            pg.click('continue_2.png')

        if pg.locateOnScreen('return.png',confidence = 0.8) != None:  #3
            pg.click('return.png')
            pg.press('s')
            pg.press('w')
            time.sleep(3)
            
else:
    pg.press('s')
    pg.press('w')
    time.sleep(3)
    

标签: python

解决方案


这是因为两个循环总是正确的。一旦到达第二个循环,它就永远不会离开,因为Trueis always True,这意味着永远不会到达 else。试试看你是否可以在没有嵌套循环的情况下编写代码。


推荐阅读