Python实现计算圆周率π的值到任意位的方法示例
本文实例讲述了Python实现计算圆周率π的值到任意位的方法。分享给大家供大家参考,具体如下:
一、需求分析
输入想要计算到小数点后的位数,计算圆周率π的值。
二、算法:马青公式
π/4=4arctan1/5-arctan1/239
这个公式由英国天文学教授约翰·马青于1706年发现。他利用这个公式计算到了100位的圆周率。马青公式每计算一项可以得到1.4位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。
三、python语言编写出求圆周率到任意位的程序如下:
# -*- coding: utf-8 -*-
from __future__ import division
####################导入时间模块
import time
###############计算当前时间
time1=time.time()
################算法根据马青公式计算圆周率####################
number = int(raw_input('请输入想要计算到小数点后的位数n:'))
# 多计算10位,防止尾数取舍的影响
number1 = number 10
# 算到小数点后number1位
b = 10**number1
# 求含4/5的首项
x1 = b*4//5
# 求含1/239的首项
x2 = b// -239
# 求第一大项
he = x1 x2
#设置下面循环的终点,即共计算n项
number *= 2
#循环初值=3,末值2n,步长=2
for i in xrange(3,number,2):
# 求出π
pai = he*4
#舍掉后十位
pai //= 10**10
############ 输出圆周率π的值
paistring=str(pai)
result=paistring[0] str('.') paistring[1:len(paistring)]
print result
time2=time.time()
print u'总共耗时:' str(time2 - time1) 's'
运行结果:
运行截图如下:
相关文章
- python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器
- python 下载.whl 文件,查看已安装软件包方法
- Python yield 使用浅析(转)
- Python简单计算数组元素平均值的方法示例
- Python简单计算数组元素平均值的方法示例
- Python中转换角度为弧度的radians()方法
- Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接
- Python简单计算数组元素平均值的方法示例
- Python操作SQLite数据库的方法详解
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
- Python编程语言学习:基于python各种库(matplotlib、Image)利用多种方法展示图片或进行图片可视化之详细攻略
- Python之sklearn:LabelEncoder函数简介(编码与编码还原)、使用方法、具体案例(在数据缺失和test数据内存在新值(train数据未出现过)环境下的数据LE化)之详细攻略
- Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法、如何查询某个函数&关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
- Python编程语言学习:包导入和模块搜索路径(包路径)简介、使用方法(python系统环境路径的查询与添加)之详细攻略
- Python:python语言中与时间有关的库函数简介、安装、使用方法(获取当前时间/计算程序块前后运行时间/模型训练时间或耗费时间)之详细攻略
- Python编程语言学习:python编程语言中重要函数讲解之map函数等简介、使用方法之详细攻略
- Python之pandas:利用多种方法获取dataframe格式数据的最小值、最大值、自定义分位数(如1/4分位数、3/4分位数等)之详细攻略
- Python之matplotlib:基于matplotlib库利用python语言实现一张画布显示多张图的多种方法
- Py之urllib2:Python库之urllib、urllib2、urllib3系列简介、安装、使用方法之详细攻略
- Python每日一练——第18天:实现斐波那契数列的三种方法
- 已解决2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and w
- 【零基础】python基础知识 01:只需五分钟,明白python学习方法
- Python编程:shelve模块-持久化python数据
- 安装Python的机器学习包Sklearn 出错解决方法
- 多版本Python共存时pip给指定版本的python安装package的方法
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- 〖Python自动化办公篇⑳〗 - python实现邮件自动化 - 发送html邮件和带附件的邮件
- python工具方法 34 语义分割数据中类别频率统计及class weight计算
- python工具方法 23 应用于语义分割的F1,recall,precision,iou,kappa系数的计算工具(支持ignore_index)
- python 工具方法 20 语义分割-小目标数据扩充
- python计算波峰波谷值的方法(极值点)