python - 为什么我的嵌套循环没有继续到下一行代码?有人可以解释吗?
问题描述
所以我创建了一个嵌套循环,一切都很好,直到它完成,'#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)
解决方案
这是因为两个循环总是正确的。一旦到达第二个循环,它就永远不会离开,因为True
is always True
,这意味着永远不会到达 else。试试看你是否可以在没有嵌套循环的情况下编写代码。
推荐阅读
- android - 如何只显示一次 Firebase 数据?
- azure-functions - Azure Function 的 Swashbuckle:自定义标头
- python - sklearn GradientBoostingRegressor 中的数值跳跃
- kotlin - Kotlin Collection 的 `component1` 到 `component5` 有什么用?
- r - R:如何合并两列(列加法)同时忽略具有相同值的行
- chef-infra - 厨师检查包已安装
- validation - springMVC 5.1.6 验证不起作用(BindingResult 错误为 0?)
- excel - Excel中的增量加法
- python - 如何运行具有可变范围的for循环?
- python - 我如何使用 GuildChannel.Delete 和 discord.py?