有没有办法检测Python中的循环是否停止

Sha*_*man 3 python for-loop if-statement

我试图检测我的循环何时停止,以便我可以使用 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))
Run Code Online (Sandbox Code Playgroud)

Asn*_*ari 5

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

\n

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

\n

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

\n

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

\n
for item in container:\n    if search_something(item):\n        # Found it!\n        process(item)\n        break\nelse:\n    # Didn't find anything..\n
Run Code Online (Sandbox Code Playgroud)\n