首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有人可以帮助解决以下代码中的TypeError:'float‘对象是不可调用的

是否有人可以帮助解决以下代码中的TypeError:'float‘对象是不可调用的
EN

Stack Overflow用户
提问于 2019-05-03 14:22:35
回答 2查看 55关注 0票数 3

我在下面的代码中写了一个速度和加速度的函数:

代码语言:javascript
复制
from math import exp

def kinematics(x,t,dt=1E-4):

    x=x(t)
    v_x=(x(t+dt)-x(t-dt))/(2*dt)
    a_x=(x(t+dt)-2*x(t)+x(t-dt))/(dt**2)
    return x,v_x,a_x

x=lambda t:exp(-(t-4)**2)

print(kinematics(x,5,dt=1E-5))

然而,我得到了以下错误:

代码语言:javascript
复制
TypeError: 'float' object is not callable

有谁能指出这个错误吗?

EN

回答 2

Stack Overflow用户

发布于 2019-05-03 14:24:50

您正在将lambda重新赋值为lambda的返回值。

代码语言:javascript
复制
x=x(t)

在这之后,x不再是一个lambda,它是一个float

票数 3
EN

Stack Overflow用户

发布于 2019-05-03 14:24:45

您正在修改函数第一行中的x

代码语言:javascript
复制
def kinematics(x,t,dt=1E-4):
    x=x(t)
    ...

使用以下命令:

代码语言:javascript
复制
def kinematics(x,t,dt=1E-4):
    v_x=(x(t+dt)-x(t-dt))/(2*dt)
    a_x=(x(t+dt)-2*x(t)+x(t-dt))/(dt**2)
    return x(t),v_x,a_x
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55964278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档