程序的循环结构和random库的使用及蒙特卡罗方法求圆周率
创始人
2025-06-01 22:40:47

 

第三个参数就是步长 

 

 引入文件时记得指明字符格式,否则读入不了

break结束循环,continue跳出本次循环 

  一个break只能跳出一个循环

一定要注意是是break是退出当前循环而不是条件判断 

我们为什么要用随机数种子呢?

就是因为你编程中给出了随机数种子,那么下次程序再次运行,只要种子相同,那么产生的随机也相同,我们对于随机数的程序我们可以复现或者再现你程序运行的过程,如果不使用随机数种子,那么它默认使用的是当前系统时间,而那个时间是精确到微秒的,而这个时间是我们很难再现的,所以后面产生的程序运行的结果就是完全随机。

因此如果我们再现随机过程,我们就用随机种子

 

 

 

 

 

蒙特卡罗方法是一种通过随机取样来估计数学问题的方法。我们可以用蒙特卡罗方法来估计圆周率。

假设我们有一个边长为 2 的正方形,以及一个内切于该正方形的圆形。圆的半径为 1。

现在我们从正方形中随机取样若干个点,并计算它们与圆心的距离。如果距离小于等于 1,则该点在圆内,否则在圆外。

我们可以用这些采样点的比例来估计圆的面积与正方形面积之比。这个比例等于圆周率除以 4。

因为圆的面积为 πr²,而正方形面积为 4r²,所以它们的比例为 π/4。

因此,我们可以通过采样点的比例乘以 4 来估计圆周率。

具体的做法是,随机生成大量的点,计算在圆内的点的数量,然后用这个数量除以总的采样点数,再乘以 4,就可以得到圆周率的近似值。

需要注意的是,采样点数量越多,估计的圆周率就越精确。

from random import random
from time import perf_counter
DARTS = 1000*1000
hits = 0.0
start = perf_counter()
for i in range(1, DARTS+1):x, y = random(), random()dist = pow(x ** 2 + y ** 2, 0.5)if dist <= 1.0:hits = hits + 1pi = 4 * (hits/DARTS)
print("圆周率值是: {}".format(pi))
print("运行时间是: {:.5f}s".format(perf_counter()-start))

 

这段代码使用了蒙特卡罗方法来估计圆周率的值。下面是对代码的解剖:

导入 random 模块和 perf_counter 函数。

将常量 DARTS 设为 1000*1000,表示采样点数量。

定义变量 hits,初始值为 0.0,用于记录落在圆内的点的数量。

使用 perf_counter 函数记录开始时间。

使用 for 循环生成 DARTS 个采样点,每个点的横坐标和纵坐标都是一个 [0, 1) 之间的随机数。

计算采样点距离圆心的距离,如果距离小于等于 1,则将 hits 加 1。

根据蒙特卡罗方法,用 hits/DARTS 计算落在圆内的点的比例,再乘以 4,得到圆周率的近似值。

输出圆周率的近似值和运行时间。

需要注意的是,蒙特卡罗方法是一种概率方法,估计的圆周率并不是精确的值,而是一个近似值。因此,采样点数量越多,估计的值越接近真实值。在这段代码中,采样点数量为 1000*1000,可以得到较为准确的近似值。

 

相关内容

热门资讯

伯努利原理伯努利原理介绍(伯努... 今天给各位分享伯努利原理伯努利原理介绍的知识,其中也会对伯努利原理怎么解释进行解释,如果能碰巧解决你...
阳江阳春2路站点线路图(阳春汽... 今天给各位分享阳江阳春2路站点线路图(阳春汽车总站-阳春汽车总站...的知识,其中也会对阳春汽车站时...
纯碱是什么物质(纯碱是什么化合... 今天给各位分享纯碱是什么物质的知识,其中也会对纯碱是什么化合物进行解释,如果能碰巧解决你现在面临的问...
双十二唇釉推荐丨唇釉选购丨哪些... 本篇文章极速百科给大家谈谈双十二唇釉推荐丨唇釉选购丨哪些唇釉值得买,以及唇釉爆款对应的知识点,希望对...
紧急制动和发动机制动的区别是什... 本篇文章极速百科给大家谈谈紧急制动和发动机制动的区别是什么,以及紧急制动和发动机制动的位置对应的知识...
元朝的首都(元朝的首都在哪里,... 今天给各位分享元朝的首都的知识,其中也会对元朝的首都在哪里,今天的哪个位置进行解释,如果能碰巧解决你...
三门中学贴吧(三门中学电话号码... 本篇文章极速百科给大家谈谈三门中学贴吧,以及三门中学电话号码对应的知识点,希望对各位有所帮助,不要忘...
饮食卫生常识5条(饮食卫生常识... 今天给各位分享饮食卫生常识5条的知识,其中也会对饮食卫生常识5条标准进行解释,如果能碰巧解决你现在面...
微信红包101代表什么意思(微... 本篇文章极速百科给大家谈谈微信红包101代表什么意思,以及微信红包110寓意对应的知识点,希望对各位...
收到别人的礼物怎么感谢的话,别... 收到别人的礼物怎么感谢的话目录收到别人的礼物怎么感谢的话别人送礼物感谢的话的朋友圈说说朋友送礼物怎样...
一年级小学生入队家长祝福语,孩... 一年级小学生入队家长祝福语目录一年级小学生入队家长祝福语孩子入少先队的祝福语父母给入队少先队员的寄语...
宝骏630是几缸发动机(宝骏6... 今天给各位分享宝骏630是几缸发动机的知识,其中也会对宝骏630是几缸发动机型号进行解释,如果能碰巧...
奇瑞旗云2油耗如何(奇瑞旗云2... 今天给各位分享奇瑞旗云2油耗如何的知识,其中也会对奇瑞旗云2费油解决方法进行解释,如果能碰巧解决你现...
龙气有什么用,想不想修真龙气多... 龙气有什么用目录龙气有什么用想不想修真龙气多少看出效果龙有什么风水作用?怎样摆放?女人身上有龙气的特...
台山市属于哪个市,台山市是哪个... 台山市属于哪个市目录台山市属于哪个市台山市是哪个省台山市属于哪个市 台山市的具体位置台山市属于哪个市...
湖北有哪些市地级市有多少个,湖... 湖北有哪些市地级市有多少个目录湖北有哪些市地级市有多少个湖北省下面的市县有哪些?湖北有多少个市?湖北...
火龙果怎么剥皮,火龙果可以徒手... 火龙果怎么剥皮目录火龙果怎么剥皮火龙果可以徒手剥皮吗?火龙果的皮怎么剥?火龙果怎么剥皮最方便火龙果怎...
木桂是什么 极速百科网 极速百... 木桂是什么目录木桂是什么木桂是什么什么是木马病毒
激励自己努力的短句狠一点的,奋... 激励自己努力的短句狠一点的目录激励自己努力的短句狠一点的奋斗励志的句子简短 励志短句致自己奋斗比较励...
房产销售员好做吗,房产销售好做... 房产销售员好做吗目录房产销售员好做吗房产销售好做吗听一听业内人士怎么说房地产业务员好做吗做房地产销售...
关于女王节的句子,2022女王... 关于女王节的句子目录关于女王节的句子2022女王节发朋友圈的句子有哪些关于三八节文案句子?女王节唯美...
小鲜肉是什么意思,小鲜肉什么意... 小鲜肉是什么意思目录小鲜肉是什么意思小鲜肉什么意思,是什么 小鲜肉老有人说我是小鲜肉什么意思啊?小鲜...
手表镜面划痕怎么办,手表表镜划... 手表镜面划痕怎么办目录手表镜面划痕怎么办手表表镜划痕修复手表镜面刮花了怎么办手表表镜刮花怎么办紧急处...
可转债多久上市,转债几天后上市... 可转债多久上市目录可转债多久上市转债几天后上市中了转债几天上市?可转债上市时间可转债多久上市 ...
6寸照片尺寸(6寸照片尺寸大小... 今天给各位分享6寸照片尺寸的知识,其中也会对6寸照片尺寸大小图片进行解释,如果能碰巧解决你现在面临的...
全日制和在职的是什么意思 极速... 全日制和在职的是什么意思目录全日制和在职的是什么意思全日制和在职的是什么意思在职研究生是什么意思?和...
如何退货怎么寄回去,退货怎么寄... 如何退货怎么寄回去目录如何退货怎么寄回去退货怎么寄回去给商家买家怎样寄快递回商家退货要怎么寄回去,有...
葬爱家族怎么来的,当别人说你是... 葬爱家族怎么来的目录葬爱家族怎么来的当别人说你是葬爱家族你怎么回答?葬爱小龙是葬爱家族的吗? 有人说...
如何为孩子选购儿童脚踏车(儿童... 本篇文章极速百科给大家谈谈如何为孩子选购儿童脚踏车,以及儿童脚踏车什么牌子比较好对应的知识点,希望对...
学好高中语文的方法,怎样学好高... 学好高中语文的方法目录学好高中语文的方法怎样学好高中语文?如何学好高中语文如何学好高中语文学好高中语...