运行此代码时,它会给我这个错误:
x = p((1/2) - (2 / q))TypeError:'int'对象不可调用
p = 0
q = 0
while (p==0):
p = int(input("Enter an integer for p: "))
while (q==0):
q = int(input("Enter an integer for q: "))
x = p((1/2) - (2/q))
print(x)
答案 0 :(得分:2)
您没有使用乘法运算符*
:
x = p * ((1/2) - (2/q))
------^ here
在数学方程中,乘法运算符经常被省略。例如。 a(b-2)
表示" a
次数量b-2
)。
但是在编程中,必须明确包含乘法运算符。例如。 a*(b-2)
。
在Python(和大多数其他语言)中,当一个标记后跟开/关括号时,它意味着正在调用一个函数。这就是您收到'int' object is not callable
错误的原因;因为p
是int
,看起来你正试图调用。
您的翻译中还有另一个问题来自"等式"到Python。在Python 2中,使用整数除法(当两个操作数都是整数时)。这意味着这个词:
x = p * ((1/2) - (2/q))
^^^^^
将等于零。
在Python 3中,情况并非如此。除法(使用单个/
)始终是浮点数。
由于可能不需要,您应该执行以下操作之一:
float
,例如float(1)/2
from __future__ import division
启用Python 3行为0.5
答案 1 :(得分:1)
因为你试图做这样的事情:
myApp.filter('newlines', function () {
return function(text) {
return text.replace(/( )? /g, '<br/>');
}
});
但是p是可变的。