蒙特卡罗方法
利用随机点分布,让随机点足够的多,用指定区域随机点数与总区域随机点数做比值来求取指定区域面积

求解圆周率,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。

代码如下:

#CalPi.py
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+1
pi = 4*(hits/DARTS)
print("圆周率的值是:{}".format(pi))
print("运行时间是:{:.5f}s".format(perf_counter()-start))

现以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。

代码如下:

from random import random,seed
seed(123)
darts = eval(input())
hits = 0.0
for i in range (darts):x,y = random(),random()d = pow(x**2+y**2,0.5)if d <= 1.0:hits = hits+1
pi = 4*(hits/darts)
print("圆周率的值为:{:.6f}".format(pi))

【Python】蒙特卡罗方法计算圆周率及给定随机数种子相关推荐

  1. Python用蒙特卡罗方法计算圆周率近似值

    实验目的: 1.理解蒙特Ÿ卡罗方法原理. 2.理解for循环本质与工作原理. 3.了解random模块中常用函数. 实验内容: 蒙特Ÿ卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的 ...

  2. python:蒙特卡罗方法计算圆周率

    求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭ ...

  3. Python项目实践:蒙特卡罗方法计算圆周率

    一.数学思维 # CalPi.py n = 100 Pi = 0 for k in range(n):Pi += 1 / pow(16, k) * (4 / (8 * k + 1) - 2 / (8 ...

  4. 使用蒙特卡罗方法计算圆周率

    介绍 这个东西网上已经有很多相关的内容了, 我只是对这个过程感兴趣, 所以自己来做了一个. 网上, 大多数纯粹计算的, 对于我这种视觉型的人来说, 还是要看一下比较好. 这里我加入了 matplotl ...

  5. 使用蒙特卡罗方法计算圆周率π Python

    [问题描述] 假设有一个单位圆,其面积就是π, 单位圆的外接正方形的边长为2,故正方形的面积是4 在正方形内随机产生m个点,假设落在圆内的点的数量为n,则n/m近似等于圆与正方形的面积比 也就是n/m ...

  6. 种子数是123,如何用蒙特卡罗方法计算圆周率

    #pi.py from random import random,seed DARTS=eval(input()) seed(123) hits=0.0 for i in range (DARTS): ...

  7. 蒙特卡洛方法计算圆周率

    import random import mathdef calpai():n = 10000000 #随机实验次数r = 1.0 #圆的半径a, b = (0.0, 0.0) #中心点x_neg, ...

  8. Python+numpy实现蒙特卡罗方法估计圆周率近似值

    问题描述:使用蒙特卡罗方法估计圆周率近似值,具体描述详见以前发的文章蒙特.卡罗方法求解圆周率近似值原理与Python实现 技术要点:Python扩展库numpy中的模块random可以批量生成特定范围 ...

  9. 用蒙特卡罗方法实现圆周率的计算

    用蒙特卡罗方法实现圆周率的计算 要求(以下分析结果要在实验报告上体现): 根据所得到PI值的精确度(前后两次PI值的差,小于0.0001)来确定是否终止实验. 对比不同精确度(0.01, 0.001, ...

最新文章

  1. app获取个人信息是否合法_【关注】如何界定App违法违规收集个人信息?认定方法来了!...
  2. 核磁共振影像数据处理-1(上)-个人简介和系列内容介绍、Li‘s have a solution and plan.
  3. spring boot中SpringBootCondition框架
  4. MySQL zip压缩包安装
  5. C语言实现阿姆斯特朗数armstrong number算法(附完整源码)
  6. android如何获取默认的桌面程序
  7. 图卷积神经网络(part1)--卷积概述
  8. Django中session和cookie简单的使用
  9. springboot07多环境切换
  10. ansible+packer+terraform在aws上布署web服务器
  11. Innodb 的事物隔离级别实现原理(一)
  12. cs用服务器运行,如何搭建自己的CS服务器(插件配置篇)
  13. U盘文件变成exe格式的解决办法
  14. 看表空间大小,查询表空间名的表空间文件存放位置,矿展表空间,查看表空间名称...
  15. IE无法打开网页的常见原因及解决
  16. QQ被盗如何找回好友
  17. 点滴生活感悟(更新至29)
  18. 是否需要这么一支“特别行动队”?
  19. 2015去哪儿网校园招聘笔试题:寻找字符串的差异
  20. 如何成为一名优秀的程序员(六)

热门文章

  1. 史上最详细的SSM框架整合(Spring、SpringMVC、Mybatis)
  2. jfinal使用render之后还会继续往下执行代码吗
  3. 牛客题霸 NC19 子数组的最大累加和问题
  4. SQL——一种简单的基于角色控制的权限管理数据库设计DEMO
  5. Web安全——易班优课YOOC课群在线测试自动答题解决方案
  6. JAVA Swing——框架(JFrame、JDialog)位置居于父窗口中央的解决方案
  7. Windows——在当前目录打开 PowerShell 命令窗口
  8. ACM基础知识及算法
  9. mysql脚本转成oracle脚本_mysql脚本手动修改成oracle脚本
  10. Swagger3.0