2017-09-17 62 views
-1

我正在使用Python創建一個函數來確定數字是否爲素數。我相信我已經做到了這一點,但是它在一些測試用例上失敗了。例如,對於10,它聲稱它不是最好的。有什麼建議麼?素數確定函數給出了錯誤的結果

def prime(number): 
    result = None 

    for i in range(2, number): 
     if (number % i == 0): 
      result = False 

    result = True 

    return result 
+1

請正確縮進你的功能。如果您在返回 – chrisckwong821

+0

檢查[4.4](https://docs.python.org/2/tutorial/controlflow.html)下的控制流結構之前將結果賦值爲True,則這將始終返回True。 – chrisckwong821

回答

1

在您的這部分代碼:

result = True 

return result 

設置resultTrue並立即返回。因此,在此之前沒有任何效果,至少不會達到回報價值。這就是爲什麼你的函數將爲每個數字返回True

您應該至少移動或刪除result = True行,但是我會將其留給您,以查看您執行操作時會發生的情況。