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

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

输入示例‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
1024

输出示例‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
3.218750

参考代码

from random import random, seed
DARTS = eval(input())
seed(123)
hits = 0.0
for i in range(DARTS):x, y = random(), random()dist = pow(x ** 2 + y ** 2, 0.5)if dist <= 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. 图灵出品的人气O'Reilly动物书,你更钟意哪本?
  2. SQL关闭自增长列标识:SET IDENTITY_INSERT
  3. QGraphicsWidget收不到鼠标、键盘消息解决
  4. amd核芯显卡控制面板自定义分辨率_主流显卡的一位猛将:蓝宝石Radeon RX 5500XT显卡首测...
  5. Linux文本查看命令之cat
  6. 从头开始搭建一个mybatis+postgresql平台
  7. js 取小数整数部分
  8. 第一段VBA脚本留念
  9. mysql怎么查看记录时间戳_mysql TIMESTAMP(时间戳)详解——查询最近一段时间操作的记录...
  10. 【Scratch案例教学】scratch手把手教小朋友制作飞机大战、空中格斗、星际争霸等超酷游戏
  11. 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(15):矩阵的范数
  12. 室外巡检项目搭建仿真环境
  13. 10 个win10上记事本的替代品
  14. 计算机病毒如何彻底去除,电脑中病毒最彻底的清除方法 彻底清理删除电脑病毒的几种简单方法...
  15. Flutter系列(二)flutter项目打安装包
  16. 原生js制作动画效果
  17. C++实现批量文件重命名
  18. 最近一直在想如何才能把我的想法变成现实
  19. gst-inspect-1.0汇总自用
  20. CS5265方案应用|TYPEC投屏方案| Type-C转HDMI4K60HZ转换方案

热门文章

  1. LTspice基础教程-001.软件简介与安装
  2. 开学季:20本Python经典书单
  3. 时间复杂度和空间复杂度及多道例题讲解
  4. iOS企业证书的申请教程
  5. webhub123 前端技术社区和技术交流学习网站导航
  6. OCR-光学符号识别
  7. 记录vant里面notice-bar使用v-show文字消失问题
  8. maven阿里云仓库
  9. Jedis实现批量删除redis cluster
  10. 继电器——电磁式继电器