#python #function
#python #функция
Вопрос:
Я пытался создать функцию с именем is_odd
, и эта функция проверяет, является ли введенное пользователем число четным, нечетным или нулевым. Я хочу напечатать результат работы функции, но она продолжает выдавать ошибки. Есть ли какой-нибудь другой лучший способ распечатать результат без использования print(is_odd(num))
?
Это мой код.
num = input()
def is_odd(num):
if num == 0:
return "zero"
elif num % 2 == 0:
return "even"
else:
return "odd"
print(is_odd(num))
И это ошибка из кода.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-76-05eb9348733b> in <module>
8 return "odd"
9
---> 10 print(is_odd(num))
<ipython-input-76-05eb9348733b> in is_odd(num)
3 if num == 0:
4 return "zero"
----> 5 elif num % 2 == 0:
6 return "even"
7 else:
TypeError: not all arguments converted during string formatting
Ответ №1:
Вам нужно ввести входные данные. По умолчанию то, что записывается в input()
виде a string
, вам нужно преобразовать его в an int
в вашем случае, так как позже вы сравниваете это значение с целыми числами
num = int(input())
Комментарии:
1. Спасибо! Я упустил из виду, что функция input() распознает все входные значения как строки…
Ответ №2:
Единственное, что вам следует изменить, это ваша первая строка:
num = int(input())
чтобы убедиться, что входные данные являются целым числом
Комментарии:
1. Спасибо! Я должен был помнить характеристику
input()