微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何根据条件跳过循环中的一个或多个元素?

如何解决如何根据条件跳过循环中的一个或多个元素?

我有一个简单的 while 循环。我想跳过一个不。当条件为真时。当我只想检查一个时它工作正常。当我想检查两个连续的数字时,它并不完全有效。 这是我的代码

import numpy as np
import os
import cv2
import time
import pyautogui
import keyboard
def do():

    image = pyautogui.screenshot()


    image = cv2.cvtColor(np.array(image),cv2.COLOR_RGB2BGR)

    return image
n=ls[0]
while True:
    if keyboard.is_pressed('s'):
        n+=1
        if os.path.exists('im'+str(n)+'.png')==True:# it is this part
            n+=1
        time.sleep(3)
        cv2.imwrite("im"+str(n)+".png",do())

现在例如,如果 im5.png 和 im6.png 存在,它适用于前者而不适用于后者。
任何帮助将不胜感激

解决方法

只需在 continue 后添加 n+=1

 if os.exists('im'+str(n)+'.png')==True:
    n+=1
    continue #this line

但是,还有一个问题,即使添加了这个,你的循环也会永远运行,没有 break 条件

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。