/
Вопросы и ответы
/
Python
/

Какая функция нужна для числа пи в Python?

Какая функция нужна для числа пи в Python?

4 года назад

Andrey Moshkov

Ответы

0

Число Пи может быть вызвано с помощью константы pi встроенного в Python пакета math.

1
2
3
4
import math # для использования функции импортировать библиотеку math

print(math.pi)
# => 3.141592653589793

4 года назад

Дмитрий Ибрагимов

0

Мало ли кому интересно. Формула для вычисления любого количества знаков после запятой на питоне.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from mpmath import mp, sqrt, mpf, pi, log10, fabs

# decimal_place = значение знаков после запятой
decimal_places = 100000 
mp.dps = decimal_places
epsilon = 1/mpf(10**decimal_places)

# set a = 1 and b = 1/sqrt(2) as multi-precision numbers
a = mpf(1)
b = 1/sqrt(mpf(2))

diff = a - b
series = mpf(0)

n = 0
while diff > epsilon:
    n += 1
    arith = (a + b)/2
    geom = sqrt(a*b)
    a, b = arith, geom
    series += 2**(n+1) * (a*a - b*b)
    diff = a - b

# a and b have converged to the AGM
my_pi = 4*a*a/(1 - series)

error = fabs(pi - my_pi)
decimal_places = int(-log10(error))

print("Number of steps used: %d" % n)
print("Number of correct decimal places: %d" % decimal_places)
print(pi)

Исходник http://www.johndcook.com/blog/2012/06/03/calculating-pi-with-agm-and-mpmath/

4 года назад

Pavlo

0

Число π в Python хранится в константе math.pi. Функцию вызывать не нужно, достаточно импортировать модуль math:

1
2
3
import math

print(math.pi)  # => 3.141592653589793

Как импортировать

1
2
3
4
5
import math
math.pi            # обращение через имя модуля

from math import pi
pi                 # короткая запись

pi — число, поэтому скобки после него не ставят. math.pi() вызовет ошибку TypeError: 'float' object is not callable.

Округлить π

1
2
print(round(math.pi, 2))    # => 3.14
print(f"{math.pi:.4f}")     # => 3.1416 — строка с 4 знаками

Примеры с π

Площадь и длина окружности:

1
2
3
4
5
from math import pi

r = 5
print(pi * r ** 2)  # площадь => 78.53981633974483
print(2 * pi * r)   # длина окружности => 31.41592653589793

Перевод градусов в радианы для sin и cos:

1
2
3
4
5
import math

print(math.sin(math.pi / 2))   # => 1.0
print(math.radians(180))       # => 3.141592653589793
print(math.degrees(math.pi))   # => 180.0

Другие константы модуля math

КонстантаЗначение
math.pi3.141592653589793
math.tau2π = 6.283185307179586
math.e2.718281828459045
math.infбесконечность

π с большим числом знаков

math.pi — число типа float, в нём 15–16 значащих цифр. Больше знаков даёт библиотека mpmath:

1
2
3
4
from mpmath import mp

mp.dps = 50   # точность: 50 значащих цифр
print(mp.pi)  # => 3.1415926535897932384626433832795028841971693993751

Установка: pip install mpmath.

В NumPy есть та же константа: numpy.pi.

Модули и импорт разбирают в бесплатном курсе «Основы Python».

18 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845