使用列表实现筛选法求素数

使用列表实现筛选法求素数

知识点

enumerate函数

链接

filter函数

链接

代码

# 输入大于二的自然数,输出小于该素数组成的列表。
def code1(num):
    lst = []
    for j in range(2,num):
        is_sushu = 1
        for i in range(2,j):
            if j % i == 0:
                is_sushu = 0
                break

        if is_sushu == 1:
            lst.append(j)
    print(lst)


def code2(num):
    lst = list(range(2,num))
    m = int(num ** 0.5)
    for index,value in enumerate(lst):
        if value > m:
            break
        lst[index+1:]=filter(lambda x: x % value != 0, lst[index+1:])
    print(lst)



if __name__ == "__main__":
    num = int(input("请输入大于2的自然数"))
    code1(num)
    code2(num)

你可能感兴趣的:(学习)