我知道這個問題被問了太多次,但我不是在尋找最快的算法。我只想知道我的代碼有什麼問題,因爲它有問題。Python - 檢查它是否是質數
import math
def is_prime(number):
for i in range (2, 1+ int(math.sqrt(number))):
if number % i == 0:
return 0
else:
return 1
choice = int(input("Check if it's prime: "))
if is_prime(choice):
print ("{} is a prime number".format(choice))
else:
print ("{} is not a prime number".format(choice))
如果我測試這個程序對於大多數數字將返回正確的反應,但如果我檢查所有平方數它會說,這是一個素數。所以,有什麼建議我做錯了?
啊,是的,我知道我所做的只是幸福路,我甚至沒有檢查用戶的輸入,但是讓我們現在略過並假設我總是輸入'integer> = 2' – narn