算法说明:
蒙特卡罗方法计算π:通过在一个正方形内随机生成点,并计算落在一个四分之一圆内的点的比例,从而估算 π 的值。以下是一个示例代码,使用了 random
模块来进行估算,并使用 tqdm
模块来创建进度条
代码:
import random import math from tqdm import tqdm def estimate_pi(num_samples): inside_circle = 0 for _ in tqdm(range(num_samples), desc="Estimating PI", ncols=100): x = random.uniform(0, 1) y = random.uniform(0, 1) if x**2 + y**2 <= 1: inside_circle += 1 pi_estimate = (inside_circle / num_samples) * 4 return pi_estimate num_samples = int(math.pow(10, 10)) # 你可以根据需要调整采样点的数量 pi = estimate_pi(num_samples) print(f"估算的π值为: {pi}")
运行与结果截图: