Python函数代码错误
问题描述:
我想建立一个代码,吐出y给定f(x)。显然,我的工作不正常。你能帮忙吗?Python函数代码错误
def f(n):
'''The Function'''
return -5(n**5)+69.0(n**2)-47
print f(2)
谢谢!
答
使用此:
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
好的答案,但如果你更新它来解释你为什么做了改变,你可以做得更好。 –
答
我认为问题在于你正在使用代数符号(我认为)你想要乘法。例如,而不是:
-5(n**5)
你想
-5 * (n ** 5)
单一星号( “*”)是乘法在Python(和许多其他的编程语言)。
如果你只是在括号后面加上括号,Python会在你试图调用这个东西时解释它。使用命名变量可能会更明显:
a = 5
a(n ** 5)
第2行是函数调用还是乘法?在Python中,它是明确的后者,但你不能调用整数,所以你得到一个异常,如TypeError: 'int' object is not callable
顺便说一下,错误如下所示:第3行:TypeError:'int'对象不可调用 –