首页 后端开发 Python教程 python如何利用公式计算π

python如何利用公式计算π

Aug 22, 2020 am 09:32 AM
python

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

python如何利用公式计算π

【相关学习推荐:python教程

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

一、π的简介

π的介绍

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

π的求解历程

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

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

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

 

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

 

 

二、π的近似计算

   1. 计算公式 

7ff9794019652c0cf1b7e6c1d662bf3.png

 

  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. 图片示例

5ca63c73db886d36372ada6d69dec0d.png

8ea20492daa14b3d9d52b812859a271.png

6b97af06393a753b4541688ea097e11.png

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

以上是python如何利用公式计算π的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP和Python:代码示例和比较 PHP和Python:代码示例和比较 Apr 15, 2025 am 12:07 AM

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

Python vs. JavaScript:社区,图书馆和资源 Python vs. JavaScript:社区,图书馆和资源 Apr 15, 2025 am 12:16 AM

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

docker原理详解 docker原理详解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

vscode怎么在终端运行程序 vscode怎么在终端运行程序 Apr 15, 2025 pm 06:42 PM

在 VS Code 中,可以通过以下步骤在终端运行程序:准备代码和打开集成终端确保代码目录与终端工作目录一致根据编程语言选择运行命令(如 Python 的 python your_file_name.py)检查是否成功运行并解决错误利用调试器提升调试效率

Python:自动化,脚本和任务管理 Python:自动化,脚本和任务管理 Apr 16, 2025 am 12:14 AM

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。

vscode是什么 vscode是干什么用的 vscode是什么 vscode是干什么用的 Apr 15, 2025 pm 06:45 PM

VS Code 全称 Visual Studio Code,是一个由微软开发的免费开源跨平台代码编辑器和开发环境。它支持广泛的编程语言,提供语法高亮、代码自动补全、代码片段和智能提示等功能以提高开发效率。通过丰富的扩展生态系统,用户可以针对特定需求和语言添加扩展程序,例如调试器、代码格式化工具和 Git 集成。VS Code 还包含直观的调试器,有助于快速查找和解决代码中的 bug。

vscode 扩展是否是恶意的 vscode 扩展是否是恶意的 Apr 15, 2025 pm 07:57 PM

VS Code 扩展存在恶意风险,例如隐藏恶意代码、利用漏洞、伪装成合法扩展。识别恶意扩展的方法包括:检查发布者、阅读评论、检查代码、谨慎安装。安全措施还包括:安全意识、良好习惯、定期更新和杀毒软件。

centos如何安装nginx centos如何安装nginx Apr 14, 2025 pm 08:06 PM

CentOS 安装 Nginx 需要遵循以下步骤:安装依赖包,如开发工具、pcre-devel 和 openssl-devel。下载 Nginx 源码包,解压后编译安装,并指定安装路径为 /usr/local/nginx。创建 Nginx 用户和用户组,并设置权限。修改配置文件 nginx.conf,配置监听端口和域名/IP 地址。启动 Nginx 服务。需要注意常见的错误,如依赖问题、端口冲突和配置文件错误。性能优化需要根据具体情况调整,如开启缓存和调整 worker 进程数量。

See all articles