python 圆周率的计算
时间: 2024-12-26 09:26:45 浏览: 3
### 使用Python计算圆周率
#### 蒙特卡洛方法
蒙特卡洛方法是一种基于随机抽样的数值计算方法。通过模拟大量随机点落在单位正方形及其内切圆内的比例来估计π的值。
```python
from random import random
from time import perf_counter
DARTS = 1000 * 1000
hits = 0.0
start = perf_counter()
for _ in range(1, DARTS + 1):
x, y = random(), random()
dist = pow(x ** 2 + y ** 2, 0.5)
if dist <= 1.0:
hits += 1
pi_estimate = 4 * (hits / DARTS)
print(f"圆周率值是:{pi_estimate}")
print(f"运行时间是:{(perf_counter() - start):.5f}s")
```
此代码片段展示了如何使用蒙特卡洛方法估算π[^2]。
#### 级数求和法
另一种常用的方法是利用级数展开式,如莱布尼茨公式:
\[
\frac{\pi}{4} = \sum_{n=0}^\infty (-1)^n\left(\frac{1}{2n+1}\right)=1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}...
\]
下面是一个具体的实现例子:
```python
def calculate_pi(threshold):
pi4 = k = 0
f = 1
while abs(1 / (2 * k + 1)) >= threshold:
pi4 += f * 1 / (2 * k + 1)
k += 1
f = -f
return "{:.6f}".format(pi4 * 4)
threshold_value = float(input())
result = calculate_pi(threshold_value)
print(result)
```
这段代码实现了根据给定精度阈值计算π的功能,并输出保留六位小数的结果[^3]。
阅读全文