基于jupyter notebook的python编程-----使用蒙特·卡罗方法计算圆周率近似值

python语言对于计算机专业的学生,不管是计算机软件还是物联网,都是很重要的一种编程语言,python未来在人工智能方向上是会有很大的贡献程度的,不仅体现在语言灵活多变,还能处理很多文件、图片、图像、等数据。
本次博客,林君学长主要带大家了解python中for循环的本质与工作原理,以及random 模块中常用函数的使用!

一、蒙特·卡罗方法计算圆周率近似值的原理

1、基本原理

蒙特· 卡罗方法是一种通过概率来得到问题近似解的方法, 在很多领域都有重要的应用,其中就包括圆周率近似值的计算问题。假设有一块边长为 2 的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x, y)必然在木板上(更多的时候是落在单位圆内),如果扔的次数足够多,那么落在单位圆内的次数除以总次数再乘以 4,这个数字会无限逼近圆周率的值。这就是蒙特·卡罗发明的用于计算圆周率近似值的方法,如图所示:
在这里插入图片描述

二、编写程序,模拟蒙特·卡罗计算圆周率近似值的方法,输入掷飞镖次数,然后输出圆周率近似值。

1、搭建python环境

1)、运行jupyter notebook在线python编程,如下所示:

windows命令行输入jupyter notebook运行在线编程环境
在这里插入图片描述
web网页创建新的python文件,如下所示:
在这里插入图片描述
在以下就可以编辑python文件了!推荐使用jupyter notebook在线编程
在这里插入图片描述

2、导入需要用的库random

from random import random

3、输入掷飞镖的次数

times=int(input('请输入掷飞镖次数:'))

4、利用for循环,模拟掷飞镖的过程

hits=0
for i in range(times):
    x=random()
    y=random()
    if x*x+y*y<=1:
        hits+=1

5、输出模拟飞镖计算出的圆周率的近似值

print(4.0*hits/times)

6、shift+enter运行结果

在这里插入图片描述

三、蒙特·卡罗方法计算圆周率近似值完整代码

1、完整代码

#用python模拟蒙特·卡罗计算圆周率近似值的方法
from random import random
times=int(input('请输入掷飞镖次数:'))
hits=0
for i in range(times):
    x=random()
    y=random()
    if x*x+y*y<=1:
        hits+=1
print(4.0*hits/times)

蒙特·卡罗计算圆周率近似值的方法所产生的结果,是通过概率计算得到的,当我们所投掷的次数越多,我们所得到的结果也就越精确,反之,结果与正真的圆周率的结果相差也就越大。
以上就是本次博客的全部内容啦,希望对小伙伴们学习python有所帮助哦!喜欢的小伙伴们记得点赞哦!遇到问题的小伙伴评论区留言哦,林君学长耐心为大家解答,这个学长不太冷
陈一月的又一天编程岁月^ _ ^

发布了44 篇原创文章 · 获赞 38 · 访问量 6997

猜你喜欢

转载自blog.csdn.net/qq_42451251/article/details/104907244