蒙特洛克法计算圆周率Python
时间: 2024-03-19 22:38:43 浏览: 88
蒙特卡洛法是一种通过随机抽样来估计数值的方法,其中包括使用随机数生成器来模拟实验或过程。在计算圆周率时,可以使用蒙特卡洛法来估计圆的面积与正方形的面积之比,从而得到圆周率的近似值。
下面是使用Python实现蒙特卡洛法计算圆周率的示例代码:
```python
import random
def estimate_pi(num_points):
points_inside_circle = 0
points_inside_square = 0
for _ in range(num_points):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance = x**2 + y**2
if distance <= 1:
points_inside_circle += 1
points_inside_square += 1
pi_estimate = 4 * points_inside_circle / points_inside_square
return pi_estimate
# 调用函数进行估计
num_points = 1000000
pi = estimate_pi(num_points)
print("估计的圆周率值为:", pi)
```
在上述代码中,我们生成了指定数量的随机点,并计算这些点在单位正方形内的分布情况。如果点的距离原点的距离小于等于1,则认为该点在单位圆内。通过统计在圆内的点数与总点数的比例,乘以4,即可得到圆周率的近似值。
阅读全文