2017-10-04 14 views
-1

私はランダムに時間の違いを伝えるプログラムを作ったと思っていますが、今まで別のelifを追加してもコードは実行されません。最初の部分は機能しますが、数字が同じ場合は最後のelif文は実行されません。コードが実行されていません

num1 = input("Enter your first number: ") 
    num2 = input("Enter your second number: ") 

    if num1 > num2: 
     print (num1 - num2) 

    elif num1<num2: 
     print (num2 - num1) 

    elif num1==num2: 
     print ("There is no difference") 
+0

あなたは、あなたの質問に使用しているプログラミング言語とバージョンを追加してください。 – ventiseis

答えて

0

おそらく問題は文字列操作のためです。

は、このことにより、入力コードを交換してみてください。

num1 = int(input("Enter your first number: ")) 
num2 = int(input("Enter your second number: ")) 
+0

文字を入力するとエラーメッセージを追加したいですが。私が手紙を入力すると、プログラムの実行が停止し、エラーが表示されます。私はコードが整数を期待しているので動作していないと仮定しています。これをどうすれば解決できますか? – Logster

+0

例外をキャッチすることができます –

0

python2またはpython3を実行していますか?また、時間メトリックには何が使用されていますか?あなたのバグは、あなたがpython2で

input()を実行しているPythonのバージョン与えられた異なる機能を持つinput()の結果である可能性があり

は、文字列を取り込み、その最も可能性の高いタイプに変換しますそれにeval()を実行します。たとえば、コマンドラインで2を入力した場合、python2は2の文字列を"2"とし、eval()を実行して整数2に変換します。 See the documentation for input() here

input() in python3一方、コマンドラインから入力を受け取り、文字列として直接処理します。したがって、num1の2を入力する場合は、特に指定しない限りとしてnum1が有効になります。 See documentation for python3 input() here

したがって、python2を実行している場合、このプログラムはうまく動作するはずです。 python3を実行している場合は、文字列を減算しようとするとエラーになります。

0

私は、Python 2を実行していると私はこのような機能にあなたのプログラムを含む場合、それは素晴らしい作品。

num1 = input("Enter your first number: ") 
num2 = input("Enter your second number: ") 

def difference(num1,num2): 
    if num1 > num2: 
     print (num1 - num2) 

    elif num1<num2: 
     print (num2 - num1) 

    elif num1==num2: 
     print ("There is no difference") 



difference(num1,num2) 
0

あなたは次のように行うことができます。

try: 
    num1 = int(input("Enter your first number: ")) 
    num2 = int(input("Enter your second number: ")) 

    if num1 > num2: 
     print (num1 - num2)  
    elif num1<num2: 
     print (num2 - num1) 
    elif num1==num2: 
     print ("There is no difference") 
except ValueError: 
    print('Not a number'); 
関連する問題