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

标签 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))

最佳答案

您可以针对您的特定用例使用 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/

相关文章:

r - 改进 RSelenium 循环,减少导航到页面的时间

php - PHP for循环无法正常工作

VB.NET 如何提供最佳性能 "Select case"或 IF... ELSEIF ... ELSE... END IF

python udisks - 枚举设备信息

python - 写入 python multiprocessing.Process 的标准输入

python - 将字符串添加到另一个字符串

python - 如何关闭线程并退出到命令行?

sql - 为什么我的查询结果随机返回?

java - 尝试使用java中的扫描仪读取回车键的敲击作为输入?

linux - Bash 中带有变量的 If 语句