我想知道是否有一些模块可以将小数转换为根,例如:
>>> x = 1.7320508075688772
>>> f(x)
'√3'
作为一个字符串。希望你能帮助我。
假设我猜对了您的要求,您可以使用sympy.nsimplify
[docs]来识别并简化数字(使用幕后的identify
功能):mpmath
>>> import sympy
>>> sympy.nsimplify(1.7320508075688772)
sqrt(3)
但是有很多关于精确和虚假识别的警告。
像这样,使用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