2017-09-30 12 views
0

コンソールでは、私のプログラムは最初の質問を出力し、入力が入力されると2番目の質問を出力して終了します。関数をスキップするように見えます。明らかに何かをやったことが間違っていた、どんな助けも認められるだろう。そのwhileループはまだ間違っていると感じます。なぜ私の機能は無視されていますか?

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

関連する問題