Python使用蒙特卡洛法计算圆周率
蒙特卡洛方法通过在单位正方形内随机生成点,并判断这些点是否在单位圆内的比例来估算圆周率。当随机点数量越多时,估算值越趋近于真实值。
以下是Python代码示例:
import random
def estimate_pi(num_iterations):
num_points_in_circle = 0
total_num_points = 0
for i in range(num_iterations):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance = x**2 + y**2
if distance <= 1:
num_points_in_circle += 1
total_num_points += 1
pi_estimate = 4 * num_points_in_circle / total_num_points
return pi_estimate
# 调用函数进行估算,num_iterations为估算次数
print(estimate_pi(1000000))