视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
python如何利用公式计算π
2020-11-02 18:26:59 责编:小采
文档


python利用公式计算π的方法:首先导入数学模块及时间模块;然后计算Pi精确到小数点后几位数,代码为【print(' {:=^70}'.format('计算开始'))】;最后完成计算,代码为【print(' {:=^70}'】。

【相关学习推荐:python教程】

python利用公式计算π的方法:

一、π的简介

π的介绍

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

π的求解历程

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

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

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

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

    二、π的近似计算

      1. 计算公式

      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("
    计算中:{:3.0f}% [{}->{}] {:.2f}s"
    10 .format(2*a,Y,N,perf_counter()),end='')
    11 
    12 level = eval(input('计算Pi精确到小数点后几位数:'))
    13 print('
    {:=^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('
    {:=^70}'.format('计算完成'))
    30 print('
    Pi的计算值为:{}'.format(round(pi*4,level))) #输出计算结果

    4. 图片示例

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

    下载本文
    显示全文
    专题