Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用python求圆周率

用python求圆周率

作者头像
算法与编程之美
发布于 2023-09-18 11:08:39
发布于 2023-09-18 11:08:39
30200
代码可运行
举报
运行总次数:0
代码可运行

1 问题

如何用python代码求圆周率。

2 方法

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

代码清单 1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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("\r计算中:{:3.0f}% [{}->{}] {:.2f}s"
         .format(2*a,Y,N,perf_counter()),end='')
level = eval(input('计算Pi精确到小数点后几位数:'))
print('\n{:=^70}'.format('计算开始'))
a,b,pi,tmp = 1,1,0,1
i = 0
'''
a 分子  |  b 分母  |  pi 圆周率
tmp 存储a/b的值    |  i  执行进度
'''
perf_counter()      
while (fabs(tmp) >= pow(10,-level)):
   pi += tmp
   b += 2
   a = -a
   tmp = a/b
   i += 2
   Bar(i)        
print('\n{:=^70}'.format('计算完成'))
print('\nPi的计算值为:{}'.format(round(pi*4,level))

3 结语

针对如何利用python求圆周率的问题,我们利用函数通过实验,证明该方法有效,但有些地方任然有误差和错误,在未来应继续学习和改善,

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-28 00:00,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
求圆周率
算法与编程之美
2023/09/18
1690
求圆周率
鬼才!用Python计算圆周率 π
A货:什么!你不会背圆周率(鄙夷的眼神) 3.1415926535 8979323846 26433... 
不吃西红柿
2022/07/29
1.1K0
鬼才!用Python计算圆周率 π
Contest100000568 – 《算法笔记》2.4小节——C/C++快速入门->循环结构
http://codeup.cn/contest.php?cid=100000568 Problem A: 例题5-1-1 连续自然数求和 Time Limit: 1 Sec Memory Limi
可定
2020/04/20
4380
圆周率1千亿位_圆周率十亿位
3.141592653589793238462643383279502884197169399375105820974944 59230 781640628620899 86280 34825 34211 70679 82148 08651 32823 06647 09384 46095 50582 23172 53594 08128 48111 74502 84102 70193 85211 05559 64462 29489 54930 3819644288 10975 66593 34461 28475 64823 37867 83165 27120 19091 45648 56692 34603 48610 45432 66482 13393 60726 02491 4127372458 70066 06315 58817 48815 20920 96282 92540 91715 36436 78925 90360 01133 05305 48820 46652 13841 46951 94151 16094 33057 27036 57595 91953 09218 61173 81932 61179 31051 18548 07446 23799 62749 56735 18857 52724 89122 79381 83011 9491298336 73362 44065 66430 86021 39494 63952 24737 19070 21798 60943 70277 05392 17176 29317 67523 84674 81846 76694 0513200056 81271 45263 56082 77857 71342 75778 96091 73637 17872 14684 40901 22495 34301 46549 58537 10507 92279 68925 89235 42019 95611 21290 21960 86403 44181 59813 62977 47713 09960 51870 72113 49999 99837 29780 49951 05973 17328 16096 31859 50244 59455 34690 83026 42522 30825 33446 85035 26193 11881 71010 00313 78387 52886 58753 32083 81420 61717 76691 47303 59825 34904 28755 46873 11595 62863 88235 37875 93751 95778 18577 80532 17122 68066 13001 92787 66111 95909 21642 01989 38095 25720 10654 85863 27886 59361 53381 82796
全栈程序员站长
2022/09/30
5060
圆周率1千亿位_圆周率十亿位
用python计算圆周率
使用for循环和条件语句等方法,通过实验证明该方法是有效的,本实验使用的蒙特卡罗方法计算出的圆周率数值存在偏差;计算量大,且随准确性提高速度会变慢,未来可以继续研究其他速度更快,准确性更高的计算方法,减少计算误差。
算法与编程之美
2023/08/22
3200
用python计算圆周率
PI 圆周率
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117070.png
vanguard
2020/03/15
8740
蒙特卡罗方法计算圆周率
N= 100 pi= 3.24 N= 1000 pi= 3.124 N= 10000 pi= 3.1464 N= 100000 pi= 3.14244 N= 1000000 pi= 3.142796
裴来凡
2022/05/29
6200
蒙特卡罗方法计算圆周率
python有趣的实验1(里面很好玩哦)
利用文件读入,我读入网上的三封一千字左右的情书。。。。然后通过wordcloud库生成了词云,一起来看看情书告白里面,哪个词用的最多,嘿嘿~
废江_小江
2022/09/05
3160
python有趣的实验1(里面很好玩哦)
圆周率日——Pi Day
”Pi Day is celebrated on March 14th (3/14) around the world. Pi (Greek letter “π”) is the symbol used in mathematics to represent a constant — the ratio of the circumference of a circle to its diameter — which is approximately 3.14159. Pi Day is an annual opportunity for math enthusiasts to recite the infinite digits of Pi, talk to their friends about math, and to eat pie. “ https://www.piday.org/
阿信老师CAE
2022/05/17
6980
圆周率日——Pi Day
啊!圆周率怎么玩?
圆周率是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比,是精确计算圆周长、圆面积、球体积等几何形状的关键值。
小Bob来啦
2020/12/08
9360
一个略奇葩的计算圆周率的程序
某天早上,在去上班的地铁上,突然莫名地想起有个“投针实验”,于是就心血来潮想写个小程序试验一下。 关于具体描述,可以去搜索“布丰投针实验”。简单来说,就是: 假设在地面上画满平行且等距的线,然后随意抛一根长度比平行线间距小的针,则针和任意一条线相交的概率为 2l/(πa)。 (间距为a,针长为l,l<a) 证明过程这里就不说了。既然结果是一个与π相关的值,那么就可以反过来,用真实实验的结果来估算圆周率。如果你家里铺了地板,可以拿针随意往地上抛,抛个1000次,记录下压在地板缝上的次数n。然后量一下地板宽度a
Crossin先生
2018/04/17
7120
蒙特卡罗法近似求解圆周率π
1. 原理 2. 模拟代码 # -*- coding:utf-8 -*- # @Python Version: 3.7 # @Time: 2020/5/2 9:02 # @Author: Michae
Michael阿明
2020/07/13
4850
蒙特卡罗法近似求解圆周率π
03. Python 基本数据类型
解决办法: 使用round函数 浮点数间运算存在不确定尾数 >>> 0.1 + 0.2 == 0.3 False >>> round(0.1+0.2, 1) == 0.3 True
acc8226
2022/05/17
4840
03. Python 基本数据类型
python之实例分析
摄氏度:以1标准大气压下水的结冰点为0度,沸点为100度,中国等世界大多数国家使用; 华氏度:以1标准大气压下水的结冰点为32度,沸点为212度,英美等国家使用; 系,
老虎也淘气
2024/01/30
1450
小朋友学C语言(32):求圆周率
(一)圆周率简介 圆周率(Pi)是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形状的关键值。 圆周率是一个无理数,即无限不循环小数。在日常生活中,通常都用3.14代表圆周率去进行近似计算。而用十位小数3.141592654便足以应付一般计算。即使是工程师或物理学家要进行较精密的计算,充其量也只需取值至小数点后几百个位。 (二)计算公式 1965年,英国数学家约翰·沃利斯(John Wallis)
海天一树
2018/04/17
1.8K0
Python的math库
注意:使用math库前,用import导入该库 >>> import math 取大于等于x的最小的整数值,如果x是一个整数,则返回x >>> math.ceil(4.12) 5 把y的正负号加到x前面,可以使用0 >>> math.copysign(2,-3) -2.0 求x的余弦,x必须是弧度 >>> math.cos(math.pi/4) 0.7071067811865476 把x从弧度转换成角度 >>> math.degrees(math.pi/4) 45.0 e表示一个常量 >>> m
狼啸风云
2019/08/18
1.1K0
2014年第五届Java B组蓝桥杯省赛真题
题目描述 小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。 小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走? 这是个整数,请通过浏览器提交该数字,不要填写任何多余的内容。 题目分析 题目代码
Max超
2020/12/23
6750
2014年第五届Java B组蓝桥杯省赛真题
几个好玩有趣的Python入门实例
随机数生成使用random库,文档在此。思路即是随机生成点,落在正方形内。计算正方形内的圆内落点与正方形内落点之比,近似为面积之比,随机数越随机,数量越大越准确。
公众号---人生代码
2019/08/23
1.4K0
计算圆周率π的值
这个主要利用了级数求actan(x),然后用循环实现,这个循环实现方式感觉还经典。自我感觉这个例子让我学会了怎么去用程序实现一些数学上的计算。也让我想起了研究生唯一的一门数学课,数值分析。
DBA札记
2021/07/06
1.2K0
Java编程题目(二)
https://blog.csdn.net/weixin_44510615/article/details/98966433
润森
2019/10/30
3840
Java编程题目(二)
相关推荐
求圆周率
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验