当前位置:   article > 正文

蒙特卡罗算法示例(面向对象编程)_蒙特卡罗编程

蒙特卡罗编程
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())

结果:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/612504
推荐阅读
相关标签
  

闽ICP备14008679号