【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就不是質數,那就丟false給is_prime,然後break離開迴圈;如果整個迴圈跑完還沒有任何整數可以整除它,那他就是質數,is_prime就是true。」
留言
張貼留言