3

给定一个简单的等式,例如:

x = y + z

如果绑定其他两个变量(即:y = x - zz = x - y),则可以获得第三个变量。将其放入代码中的一种简单方法:

def solve(args):
    if 'x' not in args:
        return args['y'] + args['z']
    elif 'z' not in args:
        return args['x'] - args['y']
    elif 'y' not in args:
        return args['x'] - args['z']
    else:
        raise SomeError  

我显然可以取一个方程,解析它并简化它以达到相同的效果。但我相信这样做我会重新发明轮子。那么我的现成轮子呢?

4

1 回答 1

9

考虑使用Sympy。它包括各种求解方程的工具等等。

以下是文档的摘录:

>>> from sympy import I, solve
>>> from sympy.abc import x, y

>>> solve(x**4-1, x)
[1, -1, -I, I]
于 2011-03-10T19:36:52.647 回答