十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
看你的问题,相信你也知道break只能跳出单层循环。
创新互联公司是一家专业提供历下企业网站建设,专注与网站设计制作、做网站、H5开发、小程序制作等业务。10年已为历下众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
要跳出多层循环,方法有两个:
1.每层都使用一次break(注意放置位置,不然很容易抛出异常)
2.使用return返回,这个是函数里面才有的(虽然这个方法已经和break毫无关系,但是功能也能实现)
两个方法区别:使用break,每层都用break,增加代码量,不适于阅读。但可以运用于整个Python环境。
使用return,可以跳出多层循环,并且只使用一次就行,放在你希望跳出循环的位置。但必须和函数结合使用
import time
import os
import schedule
import pyautogui
def Rec():
record = os.startfile("C:\Program Files (x86)\EVCapture\EVCapture.exe")
schedule.every().day.at("16:40").do(Rec)
while True:
if pyautogui.hotkey('ctrl', 'f2'):
break
schedule.run_pending()
time.sleep(1)
def Star_t():
St = pyautogui.hotkey('ctrl', 'f1')
Star_t()
一般来说,上面这种情况更多是跳出循环。
break 跳出循环
continue 跳出本次循环,继续执行下次循环
至于退出进程
import sys
sys.exit()
喜欢在循环、函数里使用多个单行的if判断,如果true直接跳出。
类似常用的传值类型判断。
类似以下:
这种句式的好处是逻辑非常清晰。
但是有时要在if里嵌套if,因为它不是函数也不是循环,就无法正常退出。
例如:
当然可以用if...else解决,但是结构就不那么清晰
为了达到我的逐行判断、逻辑清晰的目的,我决定这么使用:
整体结构很简单。
相当于在备份a前加了两个判断。
我讨厌大规模的for循环、嵌套for循环,但却喜欢1的for循环。