Конвертер в Python

Только начинаю учить питон, пытаюсь написать код для конвертера, который бы переводил введенные в input() значения сантиметров и килограммов в дюймы и фунты. return работает только у первого конвертера, и то выводит только введенное в input() значение, игнорируя /2.54. Второго конвертера как будто вообще не существует

конвертер для сантиметров

santi = int(input(3))
def convert_santi(santi):
    return santi/2.54
    
inch = convert_santi
print(inch)

конвертер для килограммов

kilo = int(input(4))
def convert_kilo(kilo):
    return kilo*2.2
    
pound = convert_kilo
print(pound)

Ответы (1 шт):

Автор решения: Dmitry

вызов функций организовывается так

def convert_santi(santi):
    return santi/2.54

def convert_kilo(kilo):
    return kilo*2.2

inch = convert_santi(int(input())) # 3
pound = convert_kilo(int(input())) # 3
print(inch, pound)

смысл состоит в том, что вы описываете функцию и некоторые манипуляции внутри без привязки к внешним данным. Далее вы вызываете эту функцию и передаете на вход (то что в скобках) данные, над которыми будут эти манипуляции производиться.

Это все вызовы функций:

convert_santi() # error - входной параметр обязателен
convert_santi("abc") # error - к строку нельзя применять деление
convert_santi(3) # 1.1811023622047243
convert_santi(int(input())) # будет ожидаться ввод данных

Что случится если не использовать скобки при вызове функции

Ошибку вы не получите, но и результат для вас будет неожиданным

a = convert_kilo
print(a)

# OUT
# <function convert_kilo at 0x104df20e0>

скорей всего это не то, что вы ожидаете

→ Ссылка