首先定义一个函数判断是否为素数,如果这个数能被2~它的平方根中的任一数整除的话它就不是素数,否则就是素数。用flag为0或1标记,利用filter()筛掉flag为0的非素数。
#!/usr/bin/env python#coding:utf-8
import math
def filter_prime(n): #定义filter_prime函数
flag = 1 #设置flag,初始化为1
for i in range(2, int(math.sqrt(n)+1)): #取2至平方根的数
if n%i == 0: #判断是否是素数
flag = 0 #如果不是,flag设为0
if flag == 1: #退出循环后判断flag,若为1(素数),则返回
return n
print filter(filter_prime, range(1,101)) #filter 1-100里的非素数
1、新建python文件,testprimenum.py;
2、编写python代码,求1到100之间的素数;
list1 = []
i = 2
for i in range(2,101):
j = 2
for j in range (2,i):
if i%j == 0:
break
else:
list1.append(i)
print(list1)
3、窗口中右击,选择‘在终端中运行Python文件’;
4、查看执行结果,1-100之间的素数为:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]