Pi是具有非重复十进制值的无理数。我们通常知道Pi = 3.14或Pi = 22/7,但这只是我们的近似值。有两种方法可以在Python计算pi的值:
方法1:使用莱布尼兹的公式
公式是–
该系列是永无止境的,该系列包含的术语越多,X的值就越趋于Pi值。
方法:
- 初始化k = 1 // //该变量将用作莱布尼兹公式的分母,它将增加2
- 初始化sum = 0 // // sum将添加系列的所有元素
- 运行从0到1000000的for循环//以这个值,我们得到Pi的最精确值
- 在for循环中,检查i%2 == 0是否为sum = sum + 4 / k
- 否则,求和= sum-4 / k
- 将k增加2,转到步骤3
下面是实现:
Python3
# Initilize denominator
k = 1
# Initilize sum
s = 0
for i in range(1000000):
# even index elements are positive
if i % 2 == 0:
s + = 4/k
else:
# odd index elements are negative
s -= 4/k
# denominator is odd
k += 2
print(s)
Python3
# Python3 program to calculate the
# value of pi up to 3 decimal places
from math import acos
# Function that prints the
# value of pi upto N
# decimal places
def printValueOfPi():
# Find value of pi upto 3 places
# using acos() function
pi = round(2 * acos(0.0), 3)
# Print value of pi upto
# N decimal places
print(pi)
# Driver Code
if __name__ == "__main__":
# Function that prints
# the value of pi
printValueOfPi()
Python3
import numpy
print( numpy.pi )
Python3
import math
print( math.pi )
输出:
3.1415916535897743
方法2:使用acos()方法。
方法:
- 使用acos()函数计算Π的值,该函数返回[-Π,Π]之间的数值。
- 由于使用acos(0.0)将返回2 *Π的值。因此得到Π的值:
pi = round(2*acos(0.0));
下面是实现:
Python3
# Python3 program to calculate the
# value of pi up to 3 decimal places
from math import acos
# Function that prints the
# value of pi upto N
# decimal places
def printValueOfPi():
# Find value of pi upto 3 places
# using acos() function
pi = round(2 * acos(0.0), 3)
# Print value of pi upto
# N decimal places
print(pi)
# Driver Code
if __name__ == "__main__":
# Function that prints
# the value of pi
printValueOfPi()
输出:
3.142
方法3:使用NumPy
在此方法中,我们将使用numpy.pi方法计算pi值。
Python3
import numpy
print( numpy.pi )
输出:
3.141592653589793
方法4:使用数学模块
Python有一个名为math的内置库,我们可以简单地导入math并打印pi的值。
Python3
import math
print( math.pi )
输出:
3.141592653589793