如果条件失败 /继续满足条件后,为什么如果语句继续进行


i = 1
for k in (range(1, 21)):
  if i % k > 0:
    for j in range(1, 21):
      if (i*j) % k == 0:
        i *= j
        break
print (i)

输出:232792560

此代码的编写是为了找到1至20之间的所有数字可除外的最小倍数。

我的问题是为什么"if i % k > 0"1 % 1 == 0?(第3行)

继续

为什么在"if (i*j) % k == 0"(第5行)J和K是2而不是断裂之后继续?

1)第一个if不继续,但循环确实如此。

2)break仅发生在内部循环中,而不是整个执行

如果您希望

,可以可视化执行步骤

中断语句只会突破内部循环。要脱离这两者,这就是我想您想做的,您将需要一个布尔条件。

您可以在中断语句和内部循环外部之前立即将变量设置为" true",以检查条件是否为真。如果是这样,则可以满足中断语句,因此您可以使用另一个突破性语句退出外循环。

最新更新