2017-09-17 4 views
-1

저는 파이썬을 사용하여 숫자가 소수인지 아닌지를 결정하는 함수를 만듭니다. 나는이 일을 제대로했다고 믿지만 몇 가지 테스트 케이스에서는 실패합니다. 예를 들어 10의 경우, 그렇지 않을 때 소수임을 주장합니다. 어떤 제안? 코드의이 부분에서소수 숫자 결정 함수가 잘못된 결과를 나타냄

def prime(number): 
    result = None 

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

    result = True 

    return result 
+1

제대로 들여 쓰기 기능을 사용하십시오. 리턴하기 전에 결과를 True로 지정하면 항상 True를 반환합니다. – chrisckwong821

+0

[4.4] (https://docs.python.org/2/tutorial/controlflow.html)의 제어 흐름 구조를 확인하십시오. – chrisckwong821

답변

1

:

result = True 

return result 

당신은 resultTrue에 설정하고 즉시 반환한다. 그래서 이전에 나온 것은 아무런 효과가 없습니다. 최소한 반환 가치 만큼은 아닙니다. 그래서 귀하의 함수는 모든 숫자에 대해 True을 반환합니다.

최소한 result = True 행을 이동하거나 제거해야하지만, 수행 할 때 어떤 일이 일어나는지 직접 확인해야합니다.