求100以内的素数python函数:
创新互联是工信部颁发资质IDC服务器商,为用户提供优质的眉山服务器托管服务
l = []
for x in range(100):
#判断如果x是素数,则打印,如果不是素数就跳过
if x 2:
continue
for i in range(2,x):
if x % i == 0:
break
else:
l.append(x)
print(l)
not 0表示非0 返回真,0返回假
print reduce(
lambda l,y: #递减的操作函数
(not 0 in map(lambda x:y % x, l)) and (l+[y]) or l, #l是一个列表[], 结果l中后加入的数不能被前数整除,被整除则不添加后数
xrange(2,1000), #范围[2,1000)
[] )
过程是:
测试到6, 就把6依次整除之前的l=[2,3,5] ,除2余0,就放弃6。l仍是[2,3,5]
测试到7, 就把7依次整除之前的l=[2,3,5] ,除2都不余0,加入6。l变成[2,3,5,7]
最后得到一个纯素数的列表[];
1、示例代码
import math
def isPreme(smk):
i = 2
for i in range(2, smk):
j = 2
for j in range(2, int(math.sqrt(i)+1)):
if (i % j == 0):
break
else:
print('%s是素数' % i)
isPreme(20)
2、示例结果
2是素数
3是素数
5是素数
7是素数
11是素数
13是素数
17是素数
19是素数
1、定义判断素数的函数isPrime
import math
def isPrime(num):
sqt = int(math.sqrt(num))
for i in range(2, sqt + 1):
if num % i == 0:
return False
return True
2、调用函数并打印结果
a = int(input("请输入一个数字:"))
if isPrime(a):
print(a)
else:
print("不是素数")
3、验证结果
(1)输入的是素数
请输入一个数字:3
3
(2)输入的不是素数
请输入一个数字:12
不是素数
具体步骤如下:
1、打开pycharm,点击file,点击new,新建一个空白的pyrthon文件:
2、这里开始编写判断素数的代码,判断素数的上限最准确的应该使用平方根取整加一,此处用到两层循环,第一层遍历0到100的数,第二层循环判断满足条件的素数。这里有一个else要注意是和for对齐而不是if对齐,如果和if对齐只要不能被2整除就会被添加到列表中了,而且会多次添加:
3、右键点击鼠标,点击“run demo”,运行编写好的python文件,在下方的控制台就可以看见输出后结果: