📜  用Python计算Pi

📅  最后修改于: 2021-04-21 23:44:50             🧑  作者: Mango

Pi是具有非重复十进制值的无理数。我们通常知道Pi = 3.14或Pi = 22/7,但这只是我们的近似值。有两种方法可以在Python计算pi的值:

方法1:使用莱布尼兹的公式

公式是–

X = 4 - 4/3 + 4/5 - 4/7 + 4/9 - ....

该系列是永无止境的,该系列包含的术语越多,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()方法。

方法:

  1. 使用acos()函数计算Π的值,该函数返回[-Π,Π]之间的数值。
  2. 由于使用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