2015-04-07 105 views
1

我想建立一个代码,吐出y给定f(x)。显然,我的工作不正常。你能帮忙吗?Python函数代码错误

def f(n): 
    '''The Function''' 
    return -5(n**5)+69.0(n**2)-47 


print f(2) 

谢谢!

+0

顺便说一下,错误如下所示:第3行:TypeError:'int'对象不可调用 –

回答

3

使用此:

return (-5*(n**5))+(69.0*(n**2))-47 

您使用的是IE省略'*'标志的代数符号导致蟒蛇认为你正试图使一个函数调用:

69.0(n**2) # python thinks 69.0 is a function name and n**2 is the parameter of this call 

这就是为什么'*'运算符在两个操作数之间是必需的。

+0

谢谢非常! :) –

+0

好的答案,但如果你更新它来解释你为什么做了改变,你可以做得更好。 –

2

我认为问题在于你正在使用代数符号(我认为)你想要乘法。例如,而不是:

-5(n**5) 

你想

-5 * (n ** 5) 

单一星号( “*”)是乘法在Python(和许多其他的编程语言)。

如果你只是在括号后面加上括号,Python会在你试图调用这个东西时解释它。使用命名变量可能会更明显:

a = 5 
a(n ** 5) 

第2行是函数调用还是乘法?在Python中,它是明确的后者,但你不能调用整数,所以你得到一个异常,如TypeError: 'int' object is not callable