2013-03-05 6 views
0

이 곳을 물어볼 곳이 맞는지 잘 모르겠다. 그러나 나는 코드와 같은 벽에 부딪혔다. 프라임 번호 인 피보나치 번호 9 번을 찾으려고하는데 문제가 있습니다. 첫째, 번호가 Prime인지 확인하는 함수는 한 자리 소수 (2,3,5,7)는 None을 반환합니다. 다음으로, 나는 here으로 표시된 값이 514229이지만 내 프로그램은 제 9 피보나치 소수로 17711이라는 값을 부여한다고 생각합니다. 내 코드는 아래에 게시됩니다 :피보나치 제 9 피보나치 번호를 찾으려면

def isPrime(n): 


    n = abs(int(n)) 

    if n < 2: 
     return False 


    elif n == 2: 
     return True 


    elif not n & 1: 
     return False 

    else: 
     for x in range(3, n/2): 
      if n % x == 0: 
       return False 
      return True 


def chkFibonacci(): 

    num1 = 1 
    num2 = 1 
    mySum = 0 
    ctr = 0 
    choice = 'n' 

    while (choice != 'y'): 
     mySum = num1+num2 
     #print mySum 
     if (isPrime(mySum)== True): 
      ctr = ctr + 1 
      print mySum 
      if (ctr == 9): 
       print mySum 
       break 
     num1 = num2 
     num2 = mySum  

chkFibonacci() 
print isPrime(3) 

어떤 도움을 주실 수 있습니다. 미리 감사드립니다 !!

답변

5

return Trueelse 분기 중 isPrime의 들여 쓰기가 너무 많습니다.

+0

고마워요 .. 그걸 고쳐 줘 !! – rahuL