Python 中的方程求解器
给定一个简单的等式,例如:
x = y + z
如果绑定其他两个变量(即:y = x - z
和 z = 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
我显然可以采用一个方程,解析它并简化它以达到相同的效果。 但我相信这样做我会重新发明轮子。那么我现成的轮子在哪里?
Given a simple equation such as:
x = y + z
You can get the third variable if you bind the other two (ie: y = x - z
and z = x - y
). A straightforward way to put this in code:
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
I obviously can take an equation, parse it and simplify it to achieve the same effect.
But I believe in doing so I would be re-inventing the wheel. So where's my ready-made wheel?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
考虑使用 Sympy。它包括各种求解方程的工具等等。
以下是文档的摘录:
Consider using Sympy. It includes various tools to solve equations and a lot more.
The following is an excerpt from the docs: