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 語法會有個限制,就是第二個表達式必須是另一個異常類或實例。),來表明你的新異常是直接由哪個異常引起的。