[英]Prime function doesn't work in a composite number (4)
我運行了以下代碼:
def isprime(number):
prime=True
result=""
for i in range(2, number//2):
if number%i==0:
prime=False
break
if(bool(prime)):
result="Prime"
else:
result="Not prime"
return result
編號之前給了 function。 我運行它並輸入 number=4,但它返回 Prime 你能幫我嗎? 幾個小時前我才開始學習 python。
首先,讓我們明確這是一個編程問題,而不是 Python 問題——你的算法在任何計算機語言中都會失敗。 結合評論中的所有建議,再加上一些額外的優化,我們得出了如下結論:
def isprime(number):
if number < 2:
return False
if number % 2 == 0:
return number == 2
for divisor in range(3, int(number ** 0.5) + 1, 2):
if number % divisor == 0:
return False
return True
if isprime(int(input("Enter a number: "))):
print("Prime")
else:
print("Not prime")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.