python圆周率函数
时间: 2023-11-07 12:48:08 浏览: 163
在Python中,有多种方法可以计算圆周率。其中,梅钦法(Machin's formula)、蒙特卡洛法(Monte Carlo method)和拉马努金法(Ramanujan's formula)是常用的计算圆周率的方法。
梅钦法利用梅钦公式来计算圆周率的大小。该方法使用了数学中的反正切函数来进行计算。具体的实现代码如下:
```python
import math
def machin_of_pi():
pi = 4*(4*math.atan(1/5)-math.atan(1/239))
return pi
if __name__ == '__main__':
cal_pi = machin_of_pi()
print(cal_pi)
```
蒙特卡洛法则是使用随机数来进行估计,根据圆的面积与正方形的面积的比值来求出圆周率。具体的实现代码如下:
```python
from random import *
seed(100) # 设定种子以固定随机数
dot = 0
dots = eval(input('请输入您想填充的点数:'))
for i in range(1, dots + 1):
x, y = random(), random()
r = pow(x**2 + y**2, 0.5)
if r <= 1:
dot += 1
pi = 4*(dot/dots)
print('所得圆周率为:{}'.format(pi))
```
拉马努金法是使用拉马努金公式来计算圆周率的大小。该方法使用了数学中的阶乘和幂函数来进行计算。具体的实现代码如下:
```python
import math
def ramanujan_of_pi(n):
def sumk(k):
s = 1
for i in range(1, k + 1):
s *= i
return s
a = 0
for i in range(n):
a += (sumk(4*i))*(1103 + (26390*i))/(sumk(i)**4*396**(4*i))
pi = 1/a*9801/2/2**(1/2)
return pi
if __name__ == '__main__':
n = int(input())
cal_pi = ramanujan_of_pi(n)
print(cal_pi)
```
以上是三种常用的Python圆周率计算方法的示例代码。您可以根据需要选择合适的方法进行计算。
阅读全文