表达式的十进制近似值(平方根)

时间:2012-11-04 14:12:03

标签: python math

我想知道是否有一些模块我可以将小数转换为根,如:

>>> x = 1.7320508075688772
>>> f(x)
'√3'

作为一个字符串。 希望你帮帮我。

2 个答案:

答案 0 :(得分:2)

假设我已经猜到了你正确提出的问题,你可以使用sympy.nsimplify [docs]来识别并简化数字(使用identify mpmath函数在幕后):

>>> import sympy
>>> sympy.nsimplify(1.7320508075688772)
sqrt(3)

但是有许多涉及精确和虚假识别的警告。

答案 1 :(得分:2)

类似的东西,使用math模块:

In [16]: strs="1,7320508075688772"

In [17]: num=float(".".join(strs.split(",")))

In [19]: math.ceil(num**2)
Out[19]: 3.0

<强>类似地:

In [25]: math.ceil(1.414**2)
Out[25]: 2.0

In [26]: math.ceil(2.23606**2)
Out[26]: 5.0

In [28]: math.ceil(1.7320508075688772**2)
Out[28]: 3.0