-2

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

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

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

4

2 回答 2

2

假设我猜对了您的要求,您可以使用sympy.nsimplify [docs]来识别并简化数字(使用幕后的identify功能):mpmath

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

但是有很多关于精确和虚假识别的警告。

于 2012-11-04T14:25:47.010 回答
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
于 2012-11-04T14:27:56.023 回答