1问题
用Python格式蒙特卡洛方法计算圆周率。
2方法
解决问题的步骤采用如下方式:
引入’import random’和’perf_counter’函数
使用循环和条件语句求出落在圆内的个数
得出结论
通过实验、实践证明提出的方法是有效的,能够解决开头提出的问题。
代码清单 1
from random import random from time import perf_counter DARTS = 10000 * 10000 # 撒点总个数 hits = 0.0 start = perf_counter() for i in range(1, DARTS + 1): x, y = random(), random() dist = pow(x ** 2 + y ** 2, 0.5) if dist < 1: hits += 1 # 落在圆内的个数 pi = 4 * (hits / DARTS) print("圆周率的值是:{}".format(pi)) print("运行时间:{:.5f}s".format(perf_counter() - start)) |
3结语
对计算圆周率问题,用蒙特卡洛的方式,以Python格式计算出该方法是有效的。