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

首先,須要明確什麼是素數?spa

  素數:又稱質數,指在大於1的天然數中,除了1和該數自己外,沒法被其餘天然數整除的數(也可定義爲只有1與該數自己兩個因數的數)。code

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

那麼,若是用程序如何來判斷它是否是素數?input

實現思路:it

1 須要先輸入一個被判斷的數字並賦值給 Number 2 判斷這個數符不符合「Number > 1」的規則,若是不符合就結束循環,若是符合就去檢驗是否是素數 3 若是能被1到Number之間的任意一個正整數整除就能夠判斷爲不是素數,便可結束循環 4 若是1至Number之間全部的正整數都不能整除,那麼就是素數,便可結束循環

有了思路,我們來看具體要怎麼實現:class

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不是素數
相關文章
相關標籤/搜索