如何使用给定的变量和方程找到未知变量?

How to find the unknown variables using the given variables and equations?

我有一个方程 a-bcd/e = 0,其中缺少任何一个变量,但给出了所有其他变量。我目前的做法是使用 sympy 和很多 if 条件。

a,b,c,d,e = [sympy.Dummy()]*5
equation = a-b*c*d/e
if a is None:
  a = sympy.solve(equation.subs([(b,12),(c,10),(d,5),(e,4)]),a)
elif b is None:
  .....
elif e is None:
  e = sympy.solve(equation.subs([(b,12),(c,10),(d,5),(a,3)]),e)

当需要实现多个方程时,这非常麻烦并且绝对不可扩展。有更好的方法吗?

使用循环遍历所有变量,当您点击 None 时,解决它。

伪代码

For variable in ListOfVariables
  if variable is None: 
    knowns = # Make a list of tuples of everything except this variable
    answer = solve(knowns, solve)
    break