2017-09-30 9 views
0

콘솔에서 내 프로그램이 첫 번째 질문을 인쇄하고 일단 입력이 입력되면 두 번째 질문을 인쇄하고 종료합니다. 함수를 건너 뛰는 것 같습니다. 분명히 내가 뭔가 잘못 했어. 어떤 도움이라도 인정 될거야. while-loop는 여전히 잘못된 것처럼 느껴집니다.왜 내 기능이 무시됩니까?

def Prime(n): 
    i = n - 1 
    while i > 0: 
     if n % i == 0: 
      return False 
      print("This number is not prime.") 
     else: 
      i = i - 1 
    return True 
    print("This number is prime.") 

def Main(): 
    n = int(input("What is the number you'd like to check?")) 
    Prime(n) 
    answer2 = input("Thank you for using the prime program.") 

Main() 
+2

그것은 무시되지 않습니다. 그러나 소수를 입력하면 아무 것도 인쇄 할 수 없게됩니다. – jonrsharpe

답변

1

출력 결과를 출력하기 전에 함수가 반환되므로 아무 것도 콘솔에 도달하지 않습니다. 반환하기 전에 인쇄를 고려하십시오.

def Prime(n): 
    i = n - 1 
    while i > 0: 
     if n % i == 0: 
      print("This number is not prime.") # Here 
      return False 
     else: 
      i = i - 1 
    print("This number is prime.") # And here 
    return True 
+0

전체 로직이 실제로 잘못되었습니다. – Harry

+0

모든 작업을 수행했지만 이제는 모든 것을 소수로 반환합니다. 해리가 말했듯이, 나는 분명히 논리를 잘못 알고있다. – bhuskinson