Как я могу показать иррациональное число до 100 десятичных знаков в питоне? - PullRequest
15 голосов
/ 19 января 2011

Я пытаюсь найти квадратный корень от 2 до 100 знаков после запятой, но по умолчанию он показывает только 10, как я могу это изменить?

Ответы [ 4 ]

32 голосов
/ 19 января 2011

десятичный модуль пригодится.

>>> from decimal import *
>>> getcontext().prec = 100
>>> Decimal(2).sqrt()
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573')
7 голосов
/ 19 января 2011

Вы можете использовать модуль десятичный для чисел произвольной точности:

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 .

1 голос
/ 23 июня 2014

Вы можете использовать gmpy2 .

import gmpy2
ctx = gmpy2.get_context()
ctx.precision = 300
print(gmpy2.sqrt(2))
0 голосов
/ 16 января 2018

Вы можете использовать sympy и evalf ()

from sympy import sqrt
print(sqrt(2).evalf(101))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...