是否可以在python中计算表达式的平方根?
例如,平方根:(a^4 - 8a^2 -16a + 16)
?
当然结果将是a
,而不是数值。
我读到了math.sqrt()并尝试这样做,但是pycharm坚持认为我会为一个值赋值。
import math
a = 16
b = math.sqrt(a**4 - 8*(a**2) -16*a +16 )
print b
这段代码有效,但我不想分配到一个,我想要一个表达式作为结果。
答案 0 :(得分:3)
好吧,我假设您想要的是采用代数表达式,并通过对其中的部分进行分解来简化它。是吗?
您可以使用sympy来解决这个问题,但我注意到(据我所知)您的示例没有更简单的答案!这是一个可以工作的例子:
>>> from sympy import Symbol, factor
>>> a = Symbol("a")
>>> factor(a**4 - 8*a**3 + 20*a**2 - 16*a + 4)
(a**2 - 4*a + 2)**2
但是,我不认为你的例子有任何因素。它实际上是您需要解决的问题的实例,还是只是问题形状的一般示例?
答案 1 :(得分:0)