在Python中求解二次方程等于0

时间:2014-09-04 17:38:27

标签: python python-2.7

我是python语言的新手,我正在尝试编写一个程序来解决一堆时间/距离/加速度变量。我知道我需要在Dtot-Dacceleration-Dconstant-Dbraking = 0行中使用某种求解函数,但我不知道要使用什么函数或者它的语法是什么。这是我的一大块代码,任何帮助都会受到赞赏!

def VehicleProfile(Vi, Fa, Fd, Dtot, Vf, Taccel):

    Vconstant = Vi+(Fa*9.81*Taccel)
    Dacceleration = (Vi*Taccel)+(.5*Fa*9.81*(Taccel**2))
    Dconstant = Vconstant*Tconstant
    Dbraking = ((Vf**2)-(Vconstant**2))/(2*Fd*9.81)
    Tbraking = (Vf-Vconstant)/(Fd*9.81)
    Dtot-Dacceleration-Dconstant-Dbraking=0
    return (Tconstant, Tbraking)

我也使用python 2.7.7

2 个答案:

答案 0 :(得分:3)

你可以重新安排它

Dtot = Dacceleration + Dconstant + Dbraking

此时已知道右侧的所有内容。

答案 1 :(得分:0)

我已做了必要的更改以使此功能正常工作。

def VehicleProfile(Vi, Fa, Fd, Dtot, Vf, Taccel):
    Vconstant = Vi+(Fa*9.81*Taccel)
    Dacceleration = (Vi*Taccel)+(.5*Fa*9.81*(Taccel**2))
    Dbraking = ((Vf**2)-(Vconstant**2))/(2*Fd*9.81)
    Tbraking = (Vf-Vconstant)/(Fd*9.81)
    Dconstant = Dtot-Dacceleration-Dbraking
    Tconstant = Dconstant/Vconstant
    return (Tconstant, Tbraking)

作为编程基础,您需要理解的是=符号左侧的变量是保存右侧表达式的答案的位置。你在等式的右侧有Tconstant,并试图稍后返回。该等式也使用了Dconstant,由于线条从上到下运行,因此尚未计算。