Skip to main content
 首页 » 编程设计

python之有没有办法检测循环是否在python中停止

2025年05月04日13think

我正在尝试检测我的循环何时停止,以便我可以使用 if 语句说:如果“循环已停止”:print(text)

代码:

faces = detector(gray) 
 
for face in faces: 
 
    x, y = face.left(), face.top() 
    x1, y1 = face.right(), face.bottom() 
    rectangle = cv2.rectangle(frame, (x, y), (x1, y1), (0, 255, 0), 2) 
 
    if "the loop has stopped": 
        cv2.putText(frame, "Asleep", (50, 150), font, 7, (0, 0, 255)) 

请您参考如下方法:

您可以针对您的特定用例使用 for ... else 构造。看起来像

for 循环还有一个我们大多数人都不熟悉的 else 子句。 else 子句在循环正常完成后执行。这意味着循环没有遇到 break 语句。一旦您了解了在哪里使用它们,它们就会非常有用。我自己也是很久以后才知道它们的。

常见的构造是运行一个循环并搜索一个项目。如果找到该项目,我们使用 break 语句跳出循环。有两种情况可能会结束循环。第一个是找到项目并遇到 break 时。第二种情况是没有遇到 break 语句就结束了循环。现在我们可能想知道其中哪一个是循环完成的原因。一种方法是设置一个标志,然后在循环结束后检查它。另一种是使用 else 子句。

这是 for/else 循环的基本结构:

for item in container: 
    if search_something(item): 
        # Found it! 
        process(item) 
        break 
else: 
    # Didn't find anything..