初始版本 没什么好讲的.
def getSushu(): res = [2] for i in range(3,100): flag = True for j in range(2,i): if i%j==0: flag = False break if flag: res.append(i) return res print(getSushu())
1. 找因数找到平方根就可以了
2. for else 的用法 (else 其实是与for里的break形成排他关系)
import math # l = [2, 3] for i in range(5, 101): #第一层循环,从5到100 for j in range(2, int(math.sqrt(i))+1): #一个数的最大因数是它的平方根 if i%j == 0: #如果出现整除说明有因子 break else: l.append(i) #for正常执行(包括contine)完会执行else,break不会执行else print(" ".join(map(str, l))) #先将列表中的元素变为字符串再用空格连接输出
来源:https://www.cnblogs.com/ShawSpring/p/10817348.html