本帖最后由 WylLy 于 2016-4-30 10:14 编辑
百度一下,会有很多的,而且算法什么的都有,下面就是我百度的一个,可以给你贴出来
- import sys
- import math
- from decimal import *
-
- def bbp(n):
- pi=Decimal(0)
- k=0
- while k <= n:
- pi+=(Decimal(1)/(16**k))*((Decimal(4)/(8*k+1))-(Decimal(2)/(8*k+4))-(Decimal(1)/(8*k+5))-(Decimal(1)/(8*k+6)))
- k+=1
- return pi
-
- def main(argv):
-
- if len(argv) !=2:
- sys.exit('Usage: BaileyBorweinPlouffe.py <prec> <n>')
-
- getcontext().prec=(int(sys.argv[1]))
- my_pi=bbp(int(sys.argv[2]))
- accuracy=100*(Decimal(math.pi)-my_pi)/my_pi
-
- print("Pi is approximately "+str(my_pi), len(str(my_pi)))
- print("Accuracy with math.pi: "+str(accuracy))
-
- if __name__=="__main__":
- main(sys.argv[1:])
复制代码
将该段代码保存到pi.py
在命令行中切到该文件的目录下,输入一下命令:
>py pi.py 101 101
后两个值越大,那么越精确
更多内容见网页:http://www.pythontab.com/html/2013/pythonhexinbiancheng_0604/428.html