当前位置:   article > 正文

for else语句(以求素数为案例)_for else实现判断一个数是否为素数

for else实现判断一个数是否为素数

我当时在做求101~201中素数的时候自己写的代码是这样的:

  1. for a in range(101,201):
  2. for i in range(2, a):
  3. if a % i == 0:
  4. break
  5. else:
  6. print(a)

跑出来的结果就非常迷

全是同一个数迭代非常多遍

然后我去网上找到一段正确代码

  1. for a in range(101,201):
  2. for i in range(2, a):
  3. if a % i == 0:
  4. break
  5. else:
  6. print(a)

 仔细看这两段代码,区别就是else是和if还是for对齐的

在此之前我都没有接触过for  else

官网这样说的:

当迭代的对象迭代完并为空时,位于else的语句将会执行,而如果在for循环里有break时,则会直接终止循环,并不会执行else里的代码

在这里面,也就是说,a = 101时 i 迭代完了以后就能跳到else,但是像a = 102在 i = 2除尽了以后这个for循环就直接在 if 底下的break里面直接走了

慌,16号就要上机考试了,呜呜

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/326257?site
推荐阅读
相关标签
  

闽ICP备14008679号