python 找素数

馋奶兔 提交于 2019-12-31 08:21:00

初始版本 没什么好讲的.

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))) #先将列表中的元素变为字符串再用空格连接输出
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!