使用列表实现筛选法求素数
知识点
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)