私はプログラミングに慣れておらず、入力された数字が偶数か奇数かを判断する簡単なプログラムを作った。また、入力された数値が浮動小数点ではなく整数であるかどうかをチェックする関数を作成しました。なぜこのプログラムはメッセージを複数回出力しますか?
ユーザが数字を入力した場合、ほとんどの場合プログラムが正しく実行されますが、ユーザが複数の数字を最初に入力した場合は数字が奇数か偶数かを示すメッセージが複数回印刷されます。なぜそれが起こるのですか?
def check_int(x,y):
if x != int(x):
print "The number is not an integer"
y()
else:
print "The number is an integer"
def even_odd():
given_number = input("Please type an integer: ")
check_int(given_number, even_odd)
if (given_number % 2) != 0:
print "The number is odd"
elif (given_number % 2) == 0:
print "The number is even"
even_odd()
一部のfloat nでは 'n%2'とは何ですか?あなたのプログラムをデバッグするのを助けるために、 'print '{}は数字の' .format(x) 'を別の場所に置いてみてください。 –
use str.isdigit – YOU
Python 2を使用しているときに 'input'を' raw_input'に変更します。 'input'はPython 3を使用するときの正しい関数です。 – Evert