import random
class MC:
def __init__(self,number):
self.number=number
def acculate(self):
M=self.number
N= 0 # 累计落在园内的随机点的个数,初始值为零
for i in range(int(M)):
x = random.random() # 利用random()产生随机数或者是伪随机数
y = random.random()
if y<x*x*x: # 判断产生的随机点是否落在单位圆内
N = N + 1 # 对落在圆内的点进行累加
sum = N / int(M)
return sum
if __name__=='__main__':
n=input("请输入一个整数[整数格式]:\n")
mc=MC(n)
print(mc.acculate())
结果:

Python实现MonteCarlo方法估算单位圆面积
该代码示例使用Python的random模块生成随机数,通过MonteCarlo方法(MC方法)来估算单位圆内点的比例,从而近似计算圆的面积。程序接受用户输入的投点次数,然后计算并返回落在圆内的点的比例作为面积的估计值。
8103

被折叠的 条评论
为什么被折叠?



