python - 为什么这个 `else` block 可以工作,但它与 `if` 的情况不在同一级别?

标签 python algorithm if-statement primes for-else

<分区>

此代码运行良好,并生成了所需的素数列表。但是打印素数的 else block 出了问题,但它仍然有效,有人可以向我解释一下吗?

for num in range(0, 100 + 1):
   # prime numbers are greater than 1
   if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)

引用:programiz.com

最佳答案

Python 有一个简洁的 for-else construct :

For loops also have an else clause which most of us are unfamiliar with. The else clause executes when the loop completes normally. This means that the loop did not encounter any break.

关于python - 为什么这个 `else` block 可以工作,但它与 `if` 的情况不在同一级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44560181/

相关文章:

algorithm - 大量顶点的旅行商问题

algorithm - 什么是好的、简单的、仅限二维矩形的碰撞检测算法?

algorithm - 使用 1 MB RAM 对 100 万个 8 位十进制数字进行排序

c# - if 子句使用?

Java 嵌套 for 循环(内部 for 循环中有 if 语句)

python - 如何在 Python numpy 中的二维数组上应用一维掩码?

python - Pandas 中的自加入产生不需要的重复项

python - Apache Config - 多个 python 版本

excel - IF 和 AND 的组合

Python Turtle,在屏幕上用更大的字体绘制文本