Как исправить рабочие математические функции Python, возвращающиеся в виде кодовых адресов? например: 0x00401978 - PullRequest
0 голосов
/ 23 января 2019

Я создал простой калькулятор на Python, используя функции для основных математических операций (например, деление, добавление).Он работает без ошибок, но в качестве конечного результата он показывает своего рода «кодовый адрес», не показывая фактических вычислений.

Я пытался вывести вычисление как «calclaion = XXX», используя print("calculation =" + str(add)).но когда я получил эти проводные выходы с этими кодами, я удалил все строки и попытался вывести только вычисления.Но проблема осталась.Это тот минимальный код -

def add (a,b) :
    calc = a + b
    return calc
def subs (a,b) :
    calc = a - b
    return calc
def mul (a,b) :
    calc = a * b
    return calc
def divi (a,b) :
    calc = a/b
    return calc

print (" Select operation. \n 1.Add \n 2.Substract \n 3.Multiply \n 4.divide ")

choice = int (input (" Enter choice (1/2/3/4) "))
a = int (input (" Enter first number: "))
b = int (input (" Enter second number : "))

if choice == 1 :
    print (add)
elif choice == 2 :
    print (subs)
elif choice == 3 :
    print (mul)
elif choice == 4 :
    print (divi)
else:
    print ("Ooops my love. Wrong number")

Вывод с проводным результатом -

 Select operation. 
 1.Add 
 2.Substract 
 3.Multiply 
 4.divide 
 Enter choice (1/2/3/4) 2
 Enter first number: 20
 Enter second number : 10
<function subs at 0x030AE198>

Мне просто нужно, чтобы вывод был "Вычисление = XXXX", и операции должны быть выполнены вфункции.(XXXX - результат)

1 Ответ

0 голосов
/ 23 января 2019

Вы не вызываете метод.Вы печатаете ячейку памяти / repr метода.

Каждый из ваших ifs должен быть

if choice == 1 :
    print (add(a,b))
elif choice == 2 :
    print (subs(a,b))
elif choice == 3 :
    print (mul(a,b))
elif choice == 4 :
    print (divi(a,b))

Или удалить отпечаток

if choice == 1 :
    add(a,b)
elif choice == 2 :
    subs(a,b)
elif choice == 3 :
    mul(a,b)
elif choice == 4 :
    divi(a,b)

Очень упрощенный примерчто вы делаете:

def test_method():
    print("I've been called!")

test_method
test_method()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...