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

问题描述

我有一个简单的 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 条件