Py学习  »  Python

if语句里的break在不满足条件的情况下也跳出了循环?

572918948 • 4 年前 • 362 次点击  

from math import sqrt

m=list(range(101,200))

for i in m:

for j in range(2,int(sqrt(i))):

    if (i % j) == 0:

        m.remove(i)

        break

print(m,len(m)) 为什么这个程序输出的是101到200之间的奇数而不是素数? 好像是j的循环里只循环到2不管i%j是不是==0都执行了break。 懵了,求解答

最后一次修改于 (2020-02-08 11:09)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54268
 
362 次点击