我正在尝试检测我的循环何时停止,以便我可以使用 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..
关于python - 有没有办法检测循环是否在python中停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57749467/