如何解决等号的Python数学
我正在尝试用Python解决这个问题,但是它返回一个空括号“ []”。
import sympy
from sympy.solvers import solve
from sympy import symbols
from sympy.abc import x
from sympy import *
x = symbols('x')
def Percy(a,b,d):
topleft = a * b
ans = solve(((topleft+(x*d))/a+x) == 1.5,x)
return ans
print(Percy(3,3,1.5))
print(solve(x+5==5,x))
两个输出均为[]
它唯一给我答案的时间是当我不包括“ ==”时。我是在做错什么,还是可以使用功能更强大的python数学模块?
方程为:(((a b)+(c d))/(a + c)=#)
解决方法
根据sympy docs:
我们假设所有方程都等于0
所以不要使用==
并将1.5
移到左侧:
In [11]: def Percy(a,b,d):
...: topleft = a * b
...: ans = solve(((topleft+(x*d))/a+x) - 1.5,x)
...: return ans
...:
...: print(Percy(3,3,1.5))
...:
[-1.00000000000000]
示例更新公式:
In [17]: solve(((3 * 3) + (x * 1.5)) / (3 * x) - 1.5,x)
Out[17]: [3.00000000000000]
第二个方程的示例:
In [20]: def Percy(a,d):
...: return solve(((a * b) + (x * d)) / (a + x) - 1.5,x)
...:
In [21]: print(Percy(3,1))
[9.00000000000000]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。