2015-01-30 3 views
0

Я пытаюсь создать алгоритм в Python 2.7.9, который можно посмотреть ниже:TypeError при расчете алгоритма

enter image description here

Это соответствует:

10/3 (-510 + sqrt(15) * sqrt(-44879 + 1000 * y))

Когда я попробуйте решить это в python с помощью следующего кода:

from __future__ import division 
import math 

y = 66 

x = "%0.2f" % (10/3 (-510 + sqrt(15) * sqrt(-44879 + 1000 * y))) 

print x 

я получаю следующее сообщение об ошибке:

TypeError: 'int' object is not callable

Почему это? У меня есть еще ниже алгоритм, который работает просто отлично:

x = "%0.2f" % (-5/4*(-463 + math.sqrt(1216881 - 16000 *y))) 
+2

'10/3 (' вы забыли '*' – levi

ответ

3

Вы пропускаете оператор умножения ниже:

x = "%0.2f" % (10/3 (-510 + sqrt(15) * sqrt(-44879 + 1000 * y))) 
        ^Need to add '*' 
+0

Раненый! Какое место, большое спасибо, я долго целует голову! @JoelCornett –

+1

Также обратите внимание, что (я думаю, они используют Python 2. x) они умножаются на '10/3', что приводит к' 3' ('int') – CoryKramer

+0

@Cyber: Приятно обдумать, но я думаю, что OP отредактировал его вопрос и добавил' из __future__ import division' в верхней части его код. –

2

Где оператор умножения?

x = "%0.2f" % (10/3 * (-510 + sqrt(15) * sqrt(-44879 + 1000 * y))) 

Совет

Всякий раз, когда вы получаете TypeError: 'int' object is not callable, это означает, что у вас есть что-то подобное целое сразу за скобки. Проверьте это, отладка будет куском пирога.

Смежные вопросы