使用 python 实现π的计算

作者: 烟雨丿丶蓝 | 来源:发表于2019-03-18 21:49 被阅读7次

一、π的简介

π的介绍

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

π的求解历程

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

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

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

此处用一个自我感觉‘良好’的公式进行求解,说良好是因为计算结果相对准确,但计算过程用时较长,一起来学习吧~~~

二、π的近似计算

1. 计算公式

image

2. 方法讲解

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

3. 代码实现(python)

1 from math import fabs #导入数学模块
 2 from time import perf_counter #导入时间模块
 3 
 4 def Bar(i): #动态文本条
 5 N = pow(10,level)
 6 a = int((i/N)*50)
 7 b = 50 - a
 8 Y , N = '*' * a , '.' * b
 9 print("\r计算中:{:3.0f}% [{}->{}] {:.2f}s"
10 .format(2*a,Y,N,perf_counter()),end='')
11 
12 level = eval(input('计算Pi精确到小数点后几位数:'))
13 print('\n{:=^70}'.format('计算开始'))
14 a,b,pi,tmp = 1,1,0,1
15 i = 0
16 '''
17 a 分子 | b 分母 | pi 圆周率
18 tmp 存储a/b的值 | i 执行进度
19 '''
20 perf_counter() #开始计时
21 while (fabs(tmp) >= pow(10,-level)): #计算Pi
22 pi += tmp
23 b += 2
24 a = -a
25 tmp = a/b
26 i += 2
27 Bar(i) #调用函数,实时显示计算进度
28 
29 print('\n{:=^70}'.format('计算完成'))
30 print('\nPi的计算值为:{}'.format(round(pi*4,level))) #输出计算结果

4. 图片示例

image image image

由上面3张图片可知,精确到小数点后4位只要14.07秒,精确到小数点后6位也需要124.61秒,而精确到小数点后8位就需要 850 / 8% = 10625秒,约为 177 分钟,也就是2.95个小时。这种方法固然好,但计算起来还是需要很长一段时间的。

《圆周率π》是个奇妙而美丽的存在,它是个无限不循环小数,就像是一种缺陷美,只要你有发现美的眼睛!

2011年,国际数学协会正式宣布,将每年的3月14日设为国际数学节,来源则是中国古代数学家祖冲之的圆周率。

相关文章

  • 使用 python 实现π的计算

    一、π的简介 π的介绍 圆周率用希腊字母 π(读作pài)表示,是一个常数(约等于3.141592654),是代表...

  • Python Day32

    python大大的图 python使用datetime模块timedelta实现日期时间相加 计算明天的日期 把l...

  • 递归

    Python 3 : 1、使用递归实现倒计时 2、使用递归实现列表元素相加 3、使用递归计算列表包含的元素数 4、...

  • Python 生态库

    这里是一些python的优质第三方库 python库之数据分析Numpy:Python接口使用,C语言实现,计算速...

  • k-邻近算法

    使用Python实现kNN分类为算法 计算距离函数classify0()如下: 输入参数:用于分类的输入向量inX...

  • 2017年12月5日

    今天,学习了Python的一些语法,感觉上Python更像是普通英语一样的计算机语言,很直接的控制硬件使用实现项目...

  • DeepLearning学习笔记#Logistic Regres

    概述 本文主要内容:如何利用Python的来实现Logistic函数。包括:初始化、计算代价函数和梯度、使用梯度下...

  • PyMC3

    PyMC3是一个用Python编写的开源的概率编程框架,使用Theano通过变分推理进行梯度计算,并使用了C实现加...

  • Python金融编程:移动平均 Hurst指数计算(摘抄)

    郑志勇 ArisZheng 文本是使用Python实现Hurst指数计算,作者王玮珩,从事股票策略研发兼回测系统开...

  • Python库之数据分析

    Numpy: 表达N维数组的最基础库-Python接口使用,C语言实现,计算速度优异-Pythons数据分析及科学...

网友评论

    本文标题:使用 python 实现π的计算

    本文链接:https://www.haomeiwen.com/subject/gusimqtx.html