Я новичок в программировании и сделал простую программу, чтобы определить, был ли введенный пользователем номер четным или нечетным. Я также создал функцию, которая проверяет, является ли введенное число целым, а не float.Почему эта программа печатает сообщение более одного раза?
Программа в основном выполняется правильно, если пользователь вводит число, но сообщение указывает, является ли число нечетным или даже печатает несколько раз, если пользователь сначала вводит несколько поплавков. Почему это происходит?
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()
Что такое 'n% 2' для некоторого плавающего n? Чтобы отладить вашу программу, попробуйте 'print '{} - это число'.формат (x)' в разных местах. –
use str.isdigit – YOU
Изменить 'input' на' raw_input', когда вы используете Python 2. 'input' является правильной функцией при использовании Python 3. – Evert