python素数筛选
‘壹’ python 中用filter求素数的时候,这里的筛选函数是什么意思
首先定义一个函数判断是否为素数,如果这个数能被2~它的平方根中的任一数整除的话它就不是素数,否则就是素数。用flag为0或1标记,利用filter()筛掉flag为0的非素数。
#!/usr/bin/envpython
#coding:utf-8
importmath
deffilter_prime(n):#定义filter_prime函数
flag=1#设置flag,初始化为1
foriinrange(2,int(math.sqrt(n)+1)):#取2至平方根的数
ifn%i==0:#判断是否是素数
flag=0#如果不是,flag设为0
ifflag==1:#退出循环后判断flag,若为1(素数),则返回
returnn
printfilter(filter_prime,range(1,101))#filter1-100里的非素数
‘贰’ Python寻找100以内的素数
这个两个嵌套循环,外层的使用m循环100个数,内层的判断当前值m是否是素数,如果不是素数条件立即终止。
运行结果正确,这里的else其实还是和if配对,不过是和第二个for循环里的整体的if配对,只有整体的if判断条件都不满足,才执行else里的内容
‘叁’ 用python怎么写素数筛选法求前n项数字里的素数
defallPrime(maxNum):
aList=[xforxinrange(0,maxNum)]
prime=[]
foriinrange(2,len(aList)):
ifaList[i]!=0:
prime.append(aList[i])
clear(aList[i],aList,maxNum)
printprime
defclear(aPrime,aList,maxNum):
foriinrange(2,int((maxNum/aPrime)+1)):
ifnotaPrime*i>maxNum-1:
aList[i*aPrime]=0
allPrime(1000)
‘肆’ 怎样在python筛选出素数的代码
python代码需要在安装python的环境中才能运行,
如果没有python解析器,则无法运行,在unix上自带python环境,windows上需要去官网上下载msi文件来安装;
另一种选择是使用专门的工具将python代码转换为
exe格式的可执行文件,那么在windows上可以直接运行。
‘伍’ python中如何编程求1到100之间的素数
1、新建python文件,testprimenum.py;
‘陆’ python中如何判断素数
#!/usr/bin/python3
# -*- coding:utf-8 -*-
# @FileName :20200924_02.py
# @Time :2020/9/24 14:48
# @Author :Storm_ke
"""
统计质数的个数
"""
# import
def is_prime(n):
"""判断一个正整数是否为素数回"""
if isinstance(n, int):
try:
for ind in range(2, n):
if n % ind == 0:
return False
return True
except ValueError:
return Exception
else:
return False
if __name__ == "__main__":
prime_count = 0
for i in range(1, 101):
if is_prime(i):
prime_count += 1
print("1到100之间有质数{0}个。答".format(prime_count))
‘柒’ python3 使用筛选法求解小于n的所有素数
n = int(input("输入一个自然数:")) #确定n
lastnum=1 #一个判断标志,可以初始化为任意值
foriinrange(1,n): #遍历所有小于n的数
for j in range(2,i): #对于一个确定的数,遍历小于它的整数,即除数
if i%j==0:
break
lastnum=j #都判断标志赋值
if lastnum==(i-1): #若标志是为 i-1,则i为质数
print(i)
‘捌’ python3 filter用来筛选素数
def primes(x):
# prepair data space
plist = [0, 0] + range(2,x+1)
for i in xrange(2, x):
if plist[i]:
plist[i+i::i] = [0] * len(plist[i+i::i])
return filter(None, plist)
print primes(100)
‘玖’ python查找100以内的素数
for i in range(2,100):
缩进for j in range(2,int(i**0.5)+1):
缩进缩进if i%j==0:break
缩进else:print(i)
注意:else是和for j 这一行缩进一致。
‘拾’ python判断素数是什么
判断是否为素数的方法:
1、利用for循环和break语句,代码为【for i in range(2, k+2):if m % i == 0:break】。
2、利用while循环和bool变量。
python使用技巧
如果在异常处理程序或 finally 块中引发异常,默认情况下,异常机制会隐式工作会将先前的异常附加为新异常的 __context__ 属性。这就是 Python 默认开启的自动关联异常上下文。
如果你想自己控制这个上下文,可以加个 from 关键字( from 语法会有个限制,就是第二个表达式必须是另一个异常类或实例。),来表明你的新异常是直接由哪个异常引起的。