用Python的平方根来解方程有没有办法?

2024-06-21 20:18:21 发布

您现在位置:Python中文网/ 问答频道 /正文

给定已知和未知的变量,以及其他上下文线索,可以使用Sympy和math imports进行简单的物理计算。在

但是,我遇到了一个问题。我现在正在尝试编程一维运动的方程,它有恒定的加速度。有4个方程和5个变量,在每个方程中,没有使用四个变量中的一个。在

所讨论的方程是Vf2=Vo2+2*a*x,其中Vf是最终速度,Vo是初始速度,a是加速度,x是位移。在

我的程序可以解方程,但前提是要求解的变量是Vf。如果我试图求解其他变量,python会抛出一个错误:TypeError: can't convert expression to float。我以前写过一个非gui程序,也做过同样的事情,而且很有效。我不明白为什么这不

下面的代码,如果我犯了一些新手的错误,很抱歉。在

       if unusedvar1dk == 't':
            if solvefor_1dk.get() == 'vfx':
                vfx = solvefor1dk = math.sqrt((vox * vox) + 2 * ax * x)
            elif solvefor_1dk.get() == 'vox':
                vox = Symbol(solvefor_1dk.get())
                vfx = math.sqrt((vox * vox) + 2 * ax * x)
                solvefor1dk = solve(vfx - knownvfx)
            elif solvefor_1dk.get() == 'ax':
                ax = Symbol(solvefor_1dk.get())
                vfx = math.sqrt((vox * vox) + 2 * ax * x)
                solvefor1dk = solve(vfx - knownvfx)
            elif solvefor_1dk.get() == 'x':
                x = Symbol(solvefor_1dk.get())
                vfx = math.sqrt((vox * vox) + 2 * ax * x)
                solvefor1dk = solve(vfx - knownvfx)
        ttk.Label(answerframe, text=solvefor_1dk.get()).grid(row=2, column=1, sticky=W)
        ttk.Label(answerframe, text="=").grid(row=2, column=1)
        ttk.Label(answerframe, text=solvefor1dk).grid(row=2, column=2, sticky=W)

Tags: getmathsqrtaxsymbollabel方程ttk