千家信息网

怎么用Python计算圆周率

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"怎么用Python计算圆周率",在日常操作中,相信很多人在怎么用Python计算圆周率问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用Python
千家信息网最后更新 2026年11月04日怎么用Python计算圆周率

这篇文章主要介绍"怎么用Python计算圆周率",在日常操作中,相信很多人在怎么用Python计算圆周率问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用Python计算圆周率"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、圆周率的历史

1、中国

★ 魏晋时期,刘徽曾用使正多边形的边数逐渐增加去逼近圆周的方法 (即「割圆术」),求得π的近似值3.1416。

★ 汉朝时,张衡得出π的平方除以16等于5/8,即π等于10的开方(约为3.162)。虽然这个值不太准确,但它简单易理解,所以也在亚洲风行了一阵。

★ 王蕃(229-267)发现了另一个圆周率值,这就是3.156, 但没有人知道他是如何求出来的(ps. 没开源呗!)。

★ 公元5世纪,祖冲之和他的儿子以正24576边形,求出圆周率约为355/113,和真正的值相比,误差小于八亿分之一。这个纪录在一千年后才给打破。(ps. 在大部分人不知勾股定理年代,真牛!)

2、印度

★ 约在公元530年,数学大师阿耶波多利用384边形的周长,算出圆周率约为√9.8684。

★ 婆罗门笈多采用另一套方法,推论出圆周率等于10的平方根。(ps. 跟张衡大佬的结果一致,但过程不同)

3、欧洲

★ 斐波那契算出圆周率约为3.1418。

★ 韦达用阿基米德的方法,算出3.1415926535<π<3.1415926537。他是第一个以无限乘积叙述圆周率的人。

★ 鲁道夫万科伦以边数多过32000000000的多边形算出有35个小数位的圆周率。

★ 华理斯在1655年求出一道公式π/2=2×2×4×4×6×6×8×8...../3×3×5×5×7×7×9×9......

★ 欧拉发现的e的iπ次方加1等于0,成为证明π是超越数的重要依据。

二、用python计算圆周率π

【方法】蒙特卡洛法

【程序设计思路】使用python random库随机生成点,落在正方形内,计算正方形内的圆内落点与正方形内落点之比,近似为面积之比,随机数越随机,数量越大越准确。

【软件环境】python 3.6(本程序可兼容python 2.x)

【代码】

from random import randomfrom time import perf_counter def calPI(N = 100):    hits = 0    start = perf_counter()    for i in range(1, N*N+1):        x, y = random(), random()        dist = pow(x ** 2 + y ** 2, 0.5)        if dist <= 1.0:            hits += 1    pi = (hits * 4) / (N * N)    use_time = perf_counter() - start    return pi, use_time PI, use_time = calPI(10000)print('use Monte Carlo method to calculate PI: {}'.format(PI))print('use time: {} s'.format(use_time))

震惊:10000次随机数,精确到3.1415了,把小编放在1000年前,可不得了

附:python输出指定精度的圆周率pi的值

首先像所有人都会的一样,本能地敲出

import mathval = math.piprint(val)

这样就得到了pi的近似值3.141592653589793,要得到后面的小数,

不是直接可以简单粗暴的乘以10的指数

import mathval = math.pi * 100000000000000000print(val)

但是当val的小数部分都变成整数141592653589793的时候,并不会如我们所想的那样露出后几位整数,而是直接变成科学计数法3.141592653589793e+24,所以在小数点移位之后为了看到整数部分,我们必须把float转换成int

import mathdef get_pi_value(x):  if(x>0):   num = math.pow(10,x)   val = int(math.pi * num)   print(val)  else:   print('输入有误')   for i in range(10): get_pi_value(i * 10)

运行结果:

输入有误
31415926535
314159265358979334144
3141592653589793216413703340032
31415926535897931797658451191693855162368
314159265358979323748068948991981337089580185157632
3141592653589793042280431964658831312838665295201939643957248
31415926535897934343019391492015828684494553443559665723073458675384320
314159265358979299628295535813807516164434328768456060679773689288809487458631680
3141592653589793231804887682686061504016619085797532053907788745336000826072569315489480704

到此,关于"怎么用Python计算圆周率"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

圆周 圆周率 方法 小数 学习 整数 正方 正方形 求出 公元 更多 程序 结果 落点 近似值 部分 随机数 张衡 帮助 输入 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 互联网与科技发展 腾讯阿里互联网科技 关于新基建和互联网科技 与互联网科技公司 智网互联网科技 新华互联网科技校企合作 互联网科技创新企业排名 互联网科技与管理 上海宁丞科技互联网 深圳育鹏互联网科技有限公司招聘 允成互联网科技有限公司融资 佛山市翊博互联网络科技有限公司 怎样加入科技互联网 江苏互联网智能科技软件 九思连强互联网电子科技有限公司 新氧科技和美国互联网有关系吗 西安有哪些互联网高科技企业 求路客互联网科技电话 宁波允成互联网科技有限公司 百单网互联网科技有限公司 新华互联网科技 奇酷互联网科技公司 互联网科技上市公司 互联网科技创新企业排名 互联网时代科技改变生活 华夏恒生科技与互联网科技 区块链结合互联网科技 互联网科技创业计划的风险分析 互联网科技创新方面的资料
0