我如何在python中显示100个小数位的无理数?

cla*_*n33 16 python math decimal-point

我试图找到2到100个小数位的平方根,但它默认只显示为10,我怎么能改变这个?

Sen*_*ran 33

十进制模块派上用场.

>>> from decimal import *
>>> getcontext().prec = 100
>>> Decimal(2).sqrt()
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573')
Run Code Online (Sandbox Code Playgroud)


Try*_*yPy 7

您可以将十进制模块用于任意精度数字:

import decimal

d2 = decimal.Decimal(2)

# Add a context with an arbitrary precision of 100
dot100 = decimal.Context(prec=100)

print d2.sqrt(dot100)
Run Code Online (Sandbox Code Playgroud)

如果你需要与速度相同的能力,还有其他一些选择:[gmpy],2,cdecimal.