python 找素数

初始版本 没什么好讲的.

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))) #先将列表中的元素变为字符串再用空格连接输出

posted on 2019-05-06 00:27  ShawSpring  阅读(1266)  评论(0编辑  收藏  举报

导航