题目:使用蒙特卡洛方法求圆周率。
基本思想:利用圆与其外接正方形面积之比为 pi /的关系,通过产生大量均匀分布的二维点,计算落在单位圆和单位正方形的数量之比再乘以4便得到 pi 的近似值。样本点越多,计算出的数据将近真实的 pi .
代码实现的具体步骤:
1.导入random模块,用于生成随机数。
import random
2.定义一个的函数(pi),用来接受一个表示要进行模拟的样本点数量的参数(nums)。
def pi(nums):
3.在函数内部初始化一个变量(inside_circle),用于记录落在单位圆内的点的数量。
inside_circle = 0
4.使用for循环生成nums个随机点
for _ in range(nums):
5.生成一个在[-1, 1]范围内的随机x坐标,一个在[-1, 1]范围内的随机y坐标
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
6.计算该点到原点的距离(平方和:x**2)