Ответ 1
decimal пригодится.
>>> from decimal import *
>>> getcontext().prec = 100
>>> Decimal(2).sqrt()
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573')
Я пытаюсь найти квадратный корень от 2 до 100 знаков после запятой, но по умолчанию он отображается только как 10, как я могу это изменить?
decimal пригодится.
>>> from decimal import *
>>> getcontext().prec = 100
>>> Decimal(2).sqrt()
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573')
Вы можете использовать модуль decimal для произвольных чисел точности:
import decimal
d2 = decimal.Decimal(2)
# Add a context with an arbitrary precision of 100
dot100 = decimal.Context(prec=100)
print d2.sqrt(dot100)
Если вам нужна такая же способность, связанная со скоростью, есть и другие варианты: [gmpy], 2, cdecimal.
Вы можете использовать gmpy2.
import gmpy2
ctx = gmpy2.get_context()
ctx.precision = 300
print(gmpy2.sqrt(2))
Вы можете использовать sympy и evalf()
from sympy import sqrt
print(sqrt(2).evalf(101))