1.蒙特卡洛求圆周率

向区域内随即撒点

当点的数目足够多时,落在圆的点数目与在正方形点数目成正比

即圆的面积和正方形的面积成正比

可以得出计算圆周率的算法

  1. DARTS=100000000  
  2. hits=0.0  
  3. clock()  
  4. for i in range(1,DARTS+1):  
  5.     x,y=random(),random()  
  6.     dist=sqrt(x**2+y**2)  
  7.     if dist <=1.0:  
  8.         hits=hits+1  
  9. pi=4*(hits/DARTS)  

2.安装tqdm来表示计算进度

在命令指令符中输入pip install tqdm来安装

3.计算圆周率与tqdm一起编码

  1. from random import random  
  2. from math import sqrt  
  3. from time import *  
  4. from tqdm import tqdm  
  5. DARTS=100000000  
  6. hits=0.0  
  7. clock()  
  8. for i in range(1,DARTS+1):  
  9.     x,y=random(),random()  
  10.     dist=sqrt(x**2+y**2)  
  11.     if dist <=1.0:  
  12.         hits=hits+1  
  13. pi=4*(hits/DARTS)  
  14. for i in tqdm(range(10)):  
  15.     print("\r{:3}%\n".format(i/10*100),end="") #这里的i/10*100指每10%显示一次  
  16.     sleep((clock())/100)#用执行程序的总时间来算出进度条间隔的时间    
  17. print("pi的值{}.".format(pi))  
  18. print("运行时间:{:.5f}s".format(clock()))  

4.运行该程序,得出结果

用python计算圆周率PI的更多相关文章

  1. 用python计算圆周率Π

    一.要求: 1.计算到圆周率后面越多位越好. 2.用进度条显示计算的进度. 3.要求给出圆周率Π的具体计算方法和解释. 二.算法: 1.拉马努金公式: 2.高斯-勒让德公式: 设置初始值: 反复执行以 ...

  2. 使用规则引擎Drools计算圆周率PI

    实际上是使用规则引擎能够更新工作内存区重新匹配规则实现迭代功能. 使用了策略模式实现. <规则引擎与RETE算法介绍> PPT : http://files.cnblogs.com/lov ...

  3. 计算圆周率 Pi (π)值, 精确到小数点后 10000 位 只需要 30 多句代码

    大家都知道π=3.1415926……无穷多位, 历史上很多人都在计算这个数, 一直认为是一个非常复杂的问题.现在有了电脑, 这个问题就简单了.电脑可以利用级数计算出很多高精度的值, 有关级数的问题请参 ...

  4. 用python计算圆周率

    from random import randomfrom time import perf_counterDARTS = 1000 * 1000hits = 0.0start = perf_coun ...

  5. python计算:pi/4=1-1/3+1/5-1/7+…

    当有一项的绝对值小于10e-6停止计算 def cul() : ans = 0;add = 1 sign = 1 while(1/add>10**(-6)) : ans = ans + sign ...

  6. 【小白成长撸】--多项式求圆周率PI

    /*程序的版权和版本声明部分: *Copyright(c) 2016,电子科技大学本科生 *All rights reserved. *文件名:多项式求PI *程序作用:计算圆周率PI *作者:Amo ...

  7. python模拟蒙特·卡罗法计算圆周率

    蒙特·卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用,其中就包括圆周率近似值的计问题. 假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x, ...

  8. Python实现计算圆周率π的值到任意位的方法示例

    Python实现计算圆周率π的值到任意位的方法示例 本文实例讲述了Python实现计算圆周率π的值到任意位的方法.分享给大家供大家参考,具体如下: 一.需求分析 输入想要计算到小数点后的位数,计算圆周 ...

  9. python中圆周率的计算

    蒙特卡罗方法计算圆周率 蒙特卡罗方法是一个撒点方法,取一个正圆的四分之一,和一个正方形的四分之一 形成一个单位方形,单位四分之一圆和四分之一正方形之比,就构成了圆周率 向这个区域撒点,如果点落在圆内部 ...

随机推荐

  1. Git 分布式版本管理器 windows环境下使用

    首先需要下载Git来安装  没有安装文件的小伙伴可以网盘下载——>   https://pan.baidu.com/s/1owwUItDri9skqYzOjzXLsw 之后安装Git  一路很顺 ...

  2. group by 拓展

    Oracle的group by除了基本使用方法以外,还有3种扩展使用方法,各自是rollup.cube.grouping sets.分别介绍例如以下: 1.rollup 对数据库表emp.如果当中两个 ...

  3. C语言列出真分数序列代码及解析

    问题描述 按递增顺序依次列出所有分母为60,分子小于60的最简分数. 问题分析 分子.分母只有公因数1的分数叫做最简分数或者说分子和分母是互质数的分数,叫做最简分数,又称既约分数,如2/3,8/9,3 ...

  4. oracle入坑日记<二>认识oracle(含sqlplus基础使用)

    1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般 ...

  5. 【python】Django自定义模板函数

    参考:https://blog.csdn.net/wenyuanhai/article/details/73656761 注意: 1.自定义模板函数的路径必须为APP的templatetags下:ap ...

  6. python———day03

    一.字符串格式化输出: 占位符    %s(字符串) %d(整数) %f(浮点数,约等于小数) name = input("Name:") age = input("Ag ...

  7. apache_php_mysql

    软件下载 目前,Apache和PHP均未出现官方的64位版本. Apache 64位: http://www.blackdot.be/?inc=apache/binaries 这个安装文件我已经上传到 ...

  8. orcal - 增删改

    数据跟新 增删改 将emp复制到myemp CREATE TABLE myemp AS SELECT * FROM emp; 新增: INSERT INTO 表名称[(列名称1,列名称2,.....) ...

  9. Kafka(1)--kafka基础知识

    Kafka 的简介: Kafka 是一款分布式消息发布和订阅系统,具有高性能.高吞吐量的特点而被广泛应用与大数据传输场景.它是由 LinkedIn 公司开发,使用 Scala 语言编写,之后成为 Ap ...

  10. Cookie在前端读不到 多半是因为Cookie在服务器端的设置是HttpOnly 意味着只能在后台操作Cookie

    比如Shiro框架的 RememberMe Cookie 是不允许Js进行读写的 只能在服务器端通过同一个域的请求获得 import com.constantine.forum.exception.F ...