-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 に答える