Как я могу получить результат функции в python, которая имеет ввод от пользователя?

#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()