求解变量的方程

con*_*ter 3 python sympy

我怎么能得到这个给我x = z*y/a?

from sympy import *

x,y,a,z = symbols('x y a z')
z = a*x/y

solve(z,x) # returns 0!
           # would like to get z*y/a
Run Code Online (Sandbox Code Playgroud)

Fer*_*dox 6

solve(z,x) 正确返回0,因为你的代码有效地询问"x的值是什么导致z变为0?".

您真正想要做的事情(如本例中的sympy文档中所述)是a*x/y==z可以解决的问题,可以按如下方式进行

from sympy import *

x,y,a,z = symbols('x y a z')
equation = a*x/y

new_eq = solve(equation - z, x)  # its value is [y*z/a]
Run Code Online (Sandbox Code Playgroud)