python3判斷輸入的數是否為素數


首先,需要明確什么是素數?

  素數:又稱質數,指在大於1的自然數中,除了1和該數本身外,無法被其他自然數整除的數(也可定義為只有1與該數本身兩個因數的數)。

  舉個例子:5---除了能被1或5整除外,再也找不到第三個可以整除它的自然數了。那么5就是素數。

那么,如果用程序如何來判斷它是不是素數?

實現思路:

1 需要先輸入一個被判斷的數字並賦值給 Number 2 判斷這個數符不符合“Number > 1”的規則,如果不符合就結束循環,如果符合就去檢驗是不是素數 3 如果能被1到Number之間的任意一個正整數整除就可以判斷為不是素數,即可結束循環 4 如果1至Number之間所有的正整數都不能整除,那么就是素數,即可結束循環

有了思路,咱們來看具體要怎么實現:

Number = int(input("請輸入一個數字:"))          # 輸入一個正整數,並賦值給Number
if Number > 1:                                 # 判斷輸入的正整數是否大於1
    for i in range(2,Number):                  # 循環取出2至Number-1的正整數 i
        if Number % i == 0:                    # 將Number與i取余,如果余數為0 ,則就可以被整除
            print ("數字%s不是素數" % Number) break                              # 不是素數,結束循環
    else: print("數字%s是素數" % Number)           # 否則就是素數,打印結果
else: print("輸入的數字小於1,不合法")

對於這段代碼,有個地方要注意:

  else沒有和if是一對,而是和for並排的,else與for搞到了一起,湊成了一對,我們常見的是if…else…或者if…elif…else諸如此類,但其實for也可以和else搭配出現,在這段代碼里,當某一次遍歷結果余數為0后,break生效,那循環就結束了。就這樣完了,就是上邊思路中的第三點。

最后來看看不同情況的結果:

請輸入一個數字:17 數字17是素數 請輸入一個數字:-10 輸入的數字小於1,不合法 請輸入一個數字:9 數字9不是素數

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM