如何使用python实现圆周率的计算(代码示例)

本篇文章给大家带来的内容是关于如何使用python实现圆周率的计算(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、π的简介

π的介绍

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

π的求解历程

立即学习“Python免费学习笔记(深入)”;

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

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

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

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

二、π的近似计算

   1. 计算公式 

 如何使用python实现圆周率的计算(代码示例)

2. 方法讲解

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

3. 代码实现(python)

from math import fabs           #导入数学模块from time import perf_counter   #导入时间模块def Bar(i):         #动态文本条    N = pow(10,level)    a = int((i/N)*50)    b = 50 - a    Y , N = '*' * a , '.' * b    print("计算中:{:3.0f}% [{}->{}] {:.2f}s"          .format(2*a,Y,N,perf_counter()),end='')    level = eval(input('计算Pi精确到小数点后几位数:'))print('{:=^70}'.format('计算开始'))a,b,pi,tmp = 1,1,0,1i = 0'''a 分子  |  b 分母  |  pi 圆周率tmp 存储a/b的值    |  i  执行进度'''perf_counter()      #开始计时while (fabs(tmp) >= pow(10,-level)): #计算Pi    pi += tmp    b += 2    a = -a    tmp = a/b    i += 2    Bar(i)          #调用函数,实时显示计算进度print('{:=^70}'.format('计算完成'))print('Pi的计算值为:{}'.format(round(pi*4,level))) #输出计算结果

登录后复制

4. 图片示例

如何使用python实现圆周率的计算(代码示例)

如何使用python实现圆周率的计算(代码示例)

如何使用python实现圆周率的计算(代码示例)

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

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

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

以上就是如何使用python实现圆周率的计算(代码示例)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2533669.html

(0)
上一篇 2025年3月5日 21:18:05
下一篇 2025年3月5日 21:18:14

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 怎么找到黑客的联系方式?

    如果你想要找到黑客的联系方式,那么你可能面临以下难题:黑客往往会隐藏他们的身份,并且他们的联系方式很难被发现。php小编草莓在这里为你提供了一份指南,旨在帮助你找到黑客的联系方式。在本指南中,我们将介绍一些常见的黑客使用的联系方式,并提供一…

    2025年3月5日
    200
  • Python模拟微博登陆的方法介绍(附代码)

    本篇文章给大家带来的内容是关于Python模拟微博登陆的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 今天想做一个微博爬个人页面的工具,满足一些不可告人的秘密。那么首先就要做那件必做之事!模拟登陆…… …

    2025年3月5日
    100
  • python中猴子补丁是什么?怎么用?

    本篇文章给大家带来的内容是关于python中猴子补丁是什么?怎么用?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 什么是猴子补丁 the term monkey patch only refers to dynamic m…

    编程技术 2025年3月5日
    200
  • Python基础环境搭建的方法(图文)

    本篇文章给大家带来的内容是关于python基础环境搭建的方法(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、编程语言 1、解释型语言:每执行一次程序就要将代码翻译一次,如Java、JavaScript、VBSc…

    2025年3月5日 编程技术
    200
  • Python中数据预处理(代码)

    本篇文章给大家带来的内容是关于python中数据预处理(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、导入标准库 import numpy as npimport matplotlib.pyplot as pl…

    编程技术 2025年3月5日
    200
  • Python如何将字符串常量转化为变量?(附示例)

    本篇文章给大家带来的内容是关于python如何将字符串常量转化为变量?(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 本文将相关的内容要点作了梳理,并由此引申到更进一步的学习话题,希望对你有所帮助。 1、如何动态…

    编程技术 2025年3月5日
    200
  • python单链表中如何插入和输出节点?(代码示例)

    python单链表中如何插入和输出节点?下面本篇文章就来带大家了解一下单链表是什么,如何对单链表执行的一些非常基本的操作,例如:插入、输出,希望对大家有所帮助。 单链表是什么? 首先在了解单链表之前,我们必须了解一下节点是什么。 节点是链表…

    2025年3月5日
    200
  • python单链表中如何查找和删除节点?

    在之前的文章【python单链表中如何插入和输出节点?】中给大家介绍了单链表是什么,以及如何进行添加节点、输出所以节点。下面本篇文章给大家介绍如何查找和删除节点,希望对大家有所帮助。 如何从单链表中查找节点? 与大多数数据结构一样,查找元素…

    2025年3月5日
    200
  • 如何使用Python中range()方法?

    python中有很多迭代器,比如list、tuple等,range()提供了另一种方法来使用一些条件初始化数字序列。(相关推荐:《python教程》) range()通常用于循环,因此,在处理任何类型的Python代码时,相同的知识是关键方…

    2025年3月5日
    200
  • Python动态定义函数的方法介绍

    本篇文章给大家带来的内容是关于Python动态定义函数的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 基于 MIT 许可协议 在 Python 中,没有可以在运行时简化函数定义的语法糖。然而,这并不意味着它就不可…

    编程技术 2025年3月5日
    200

发表回复

登录后才能评论