python中圆周率的计算

让人想犯罪 __ 提交于 2020-01-09 17:27:47

 

蒙特卡罗方法计算圆周率

蒙特卡罗方法是一个撒点方法,取一个正圆的四分之一,和一个正方形的四分之一

形成一个单位方形,单位四分之一圆和四分之一正方形之比,就构成了圆周率

向这个区域撒点,如果点落在圆内部,就是圆内部的一部分,如果落在正方形中,就是正方形的一部分

代码

调用random函数,并且使用了perf_counter这个函数,是可以用来计时的一部分

定义变量,当作抛洒点的总数量

撒在圆内部点为0

开始计时

循环撒点的过程看成是遍历循环的过程

用for in range对所有点进行抛洒

   定义x,y当作两个随机数的坐标值,这个坐标就是圆的抛点

   

如何判断这个坐标就在圆内呢?判断这个点到圆心的距离是否等于1

   

如果在圆的内部,就加一

   

用这个值比上整个区域值

输出圆周率值

计算计算时间

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!