点击查看代码
import random
import time
from tqdm import tqdm
def calculate_pi(num_samples):
"""
使用蒙特卡洛方法计算π。
:param num_samples: 样本数量,即模拟的点数。
:return: 计算得到的π值。
"""
inside_circle = 0
for _ in tqdm(range(num_samples), desc="Calculating Pi"):
x, y = random.random(), random.random()
distance = x**2 + y**2
if distance <= 1:
inside_circle += 1
pi_estimate = (inside_circle / num_samples) * 4
return pi_estimate
def main():
num_samples = 10000000 # 可以根据需要调整样本数量以提高精度
pi = calculate_pi(num_samples)
print(f"Estimated value of Pi: {pi:.10f}")
if __name__ == "__main__":
main()