python怎么用python判斷一個數是否是素數
先來看下什么是質數:
質數(Primenumber),又稱素數,指在大于1的自然數中,除了1和該數自身外,無法被其他自然數整除的數(也可定義為只有1與該數本身兩個因數的數)。
簡單來說就是,只能除以1和自身的數(需要大于1)就是質數。舉個栗子,5這個數,從2開始一直到4,都不能被它整除,只有1和它本身(5)才能被5整除,所以5就是一個典型的質數。
那么想計算出一個隨機數是不是質數用Python應該怎么寫呢?首先第一句話肯定是接受用戶輸入的數字:
n=int(input("pleaseenterthenumber:"))
接著要計算該數是不是質數,那么就要從2開始一直除到該數之前的那個自然數,很明顯是一個數字范圍:
foriinrange(2,n):
在循環體里面,每次循環當然就是要判斷當次除法是否是整除,這里可以使用求模運算,也就是取余,當余數為0時,該數就不是質數:
ifn%i==0:
print("%disnotaprimenumber!"%n)
break
這個break意思就是當該數不是質數時,就跳出整個循環,該數就不是我們要的數字了。
那么,所有循環迭代都完成后還沒有找出能整除的情況的話,那么可以判斷該數就是一個質數,所以:
else:
print("%disaprimenumber!"%n)
那么此時,所有代碼就寫好了,不過為了看起來簡單,沒有罩一層是否大于1的判斷,用戶輸入的數字默認需要大于1:
n=int(input("pleaseenterthenumber:"))
foriinrange(2,n):
ifn%i==0:
print("%disnotaprimenumber!"%n)
break
else:
print("%disaprimenumber!"%n)
這里要細細品味這段代碼,else其實不是和if是一對,而是和for并排的,我們常見的是if…else…或者if…elif…else諸如此類,但其實for也可以和else搭配出現,在這段代碼里,當某一次遍歷結果余數為0后,break生效,那循環就結束了,那與之成對出現的else代碼也就不執行了;當所有遍歷結束后沒有一次余數為0,那該循環就轉到else開始執行,打印輸出“該數為質數”。
以上內容為大家介紹了python培訓之怎么用python判斷一個數是否是素數,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

相關推薦HOT
更多>>
如何使用Pandas處理Excel?
如何使用Pandas處理Excel?做過行政或者人事,或者對此有過了解的小伙伴,一定對下發各個部分的表有著非常深刻的印象,最常見的就是需要我們將一...詳情>>
2023-11-14 07:43:15
python中np.insert()函數的使用方法
python中np.insert()函數的使用方法在numpy數組操作中,np.append()方法可以在每行每列的最后添加數據,但其位置是規定的,那如果想要指定添加...詳情>>
2023-11-14 05:06:13
SVM在python中的原理如何理解?
SVM在python中的原理如何理解?在python中除了編程化的知識點外,對于數學方法的算法也有所涉及,SVM就是一種很好地體現。我們學習過數學中的坐...詳情>>
2023-11-14 04:30:04
python處理絕對路徑和相對路徑函數有哪些?
python處理絕對路徑和相對路徑函數有哪些?絕對路徑和相對路徑是什么?絕對路徑:從根文件夾開始,Windows系統以盤符(C:)作為根文件夾,OSX或Lin...詳情>>
2023-11-14 03:33:02熱門推薦
如何使用python any()判斷多元素?
沸如何使用Pandas處理Excel?
熱python函數中的參數有哪些?
熱python中pygal模塊如何使用?
新Python的excel處理操作
python中doctest庫是什么?
python中series是什么意思
python中np.insert()函數的使用方法
SVM在python中的原理如何理解?
Python描述符中有哪三種方法?
python處理絕對路徑和相對路徑函數有哪些?
python單繼承和多繼承如何定義?
python封裝中的私有如何理解?
python模塊引入的三種方式
技術干貨






