【Python實作】判斷使用者輸入的數字是否為質數?

Python自學_判斷是否是質數

目的:練習for迴圈、if/else

題目:讓使用者輸入一個正整數,並且判斷是否為質數?

 

#程式開始

 

try:

    n = int(input("請輸入一個整數:"))

except ValueError:

    print("請輸入正確的數字")

    exit()

 

if n <= 1:

    print("不是質數")

else:

    is_prime = True

    for x in range(2, int(n**0.5) + 1):

        if n % x == 0:

            is_prime = False

            break

 

    print("是質數" if is_prime else "不是質數")

#程式結束

 

程式說明

try:

    n = int(input("請輸入一個整數:"))

except ValueError:

    print("請輸入正確的數字")

    exit()

「先用try/execpt確認使用者輸入合法的內容。」

 

if n <= 1:

    print("不是質數")

else:

    is_prime = True

    for x in range(2, int(n**0.5) + 1):

 

1以下的都不是質數了,質數從2開始,所以寫一個if防呆。」

is_prime = True,先丟一個布林值給is_prime,等等跑完迴圈再修正。」

range(2, int(n**0.5) + 1),迴圈跑的range是從最小的質數2開始,一直跑到要確認的數的根號(根號n)就可以了,結束在這裡可以省時間,因為在往下確認就是重複的數。最後為了避免根號剛好是整數的情況,以防萬一我們確認到(根號n+1。」

 

if n % x == 0:

            is_prime = False

            break

「使用者輸入的正整數n,假如除到可以整除的數,那is_prime就不是質數,那就丟falseis_prime,然後break離開迴圈;如果整個迴圈跑完還沒有任何整數可以整除它,那他就是質數,is_prime就是true。」

 

 

 

 

 

留言

這個網誌中的熱門文章

常見的化痰粉愛克痰(小鳥粉)怎麼吃?|化痰粉成人及小孩的使用劑量|紅色與藍色比較

麻將教學懶人包|從規則到牌理的完整觀念整理(附實戰心得)

麻將新手必看!不知道聽什麼牌怎麼辦?超多種實戰聽牌範例,教你怎麼判斷胡牌機會