博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
圆周率的计算
阅读量:7085 次
发布时间:2019-06-28

本文共 1191 字,大约阅读时间需要 3 分钟。

π的计算

一、π的简介

  • π的介绍

  圆周率用希腊字母 π(读作pài)表示,是一个常数(约等于3.141592654),是代表圆周长和直径的比值。它是一个即无限不循环小数,在日常生活中,通常都用3.14代表圆周率去进行近似计算。

  • π的求解历程

  1965年,英国数学家约翰·沃利斯(John Wallis)出版了一本数学专著,其中他推导出一个公式,发现圆周率等于无穷个分数相乘的积。

  2015年,罗切斯特大学的科学家们在氢原子能级的量子力学计算中发现了圆周率相同的公式。

  2019年3月14日,谷歌宣布圆周率现已到小数点后31.4万亿位。

这周我们的作业就是用Python来计算 π,过程略微心酸,为了装个计时器捣鼓了好久,现在就一起来看看 π的Python代码实现吧

一、安装tqdm函数库

tqdm是一个强大的终端进度条工具,我利用pip获取tqdm函数库。

1、打开运行,输入“cmd”

2、2:输入pip install   你要安装的库(如 pip install tqdm)

这样就是安装好了。

二、π的近似计算

   1. 计算公式 

 

  2. 方法讲解

  所用公式等式右边分子都为1,分母为递增数列,从第一项开始,奇数项符号为正,偶数项符号为负。等式右边的分母越大,越小,圆周率π计算的值越精确;换个角度讲,就是等式右边的项越多,计算的值越精确。

三代码(这里我们照书上的代码来就好)

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

 运行结果如图

可以看到计算到不同的位数所用的时间不同,越是精确越是耗时,但是 π的计算远远不止你的电脑能计算到的位数,这或许就是圆周率一直以来能够吸引人的地方吧

 

 

转载于:https://www.cnblogs.com/gyy-15768200938/p/10568432.html

你可能感兴趣的文章
Centos中vim的配置
查看>>
PowerShell 实现邮箱收发数量统计
查看>>
2014年中国互联网企业100强(完整版榜单)
查看>>
解决win7打印机共享 出现“无法保存打印机设置,操作无法完成(错误0x000006d9)”...
查看>>
一致性协议算法-------------Paxos算法
查看>>
ubuntu 16.04 安装使用composer
查看>>
runtime.exec()
查看>>
深度学习(一)深度学习学习资料
查看>>
ES学习笔记之health api的实现
查看>>
dz模板引擎分析
查看>>
java面向对象-1
查看>>
[RabbitMQ+Python入门经典] 兔子和兔子窝
查看>>
wget离线下载文档
查看>>
用友软件操作流程(新建年度帐、年度结转步骤
查看>>
程序员
查看>>
杭州某公司技术一面
查看>>
我的友情链接
查看>>
在word里面写完文章在里面添加本机的图标
查看>>
我的友情链接
查看>>
cp: omitting directory `foldera/'
查看>>