"""
輸入一個正整數判斷它是不是素數
Version: 0.1
Author: 駱昊
Date: 2018-03-01
"""
from math import sqrt
num = int(input('請輸入一個正整數: '))
end = int(sqrt(num))
is_prime = True
for x in range(2, end + 1):
if num % x == 0:
is_prime = False
break
if is_prime and num != 1:
print('%d是素數' % num)
else:
print('%d不是素數' % num)
判斷整數2,在回圈里,x賦值為2時,num%x == 0,那么is_prime不是直接輸出False,判斷2不是素數了嗎?
uj5u.com熱心網友回復:
判斷的是num,不是x,num是2,3的時候,end是1,這時for壓根就沒有執行回圈體啊uj5u.com熱心網友回復:
可是end是1,end+1==2就是
for x in range(2, 2):
這樣是不會執行回圈里的if的嗎?
uj5u.com熱心網友回復:
range(s,e)的范圍是[s,e)轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/65317.html
