#coding=utf-8
創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計(jì),有關(guān)成都企業(yè)網(wǎng)站定制方案、改版、費(fèi)用等問題,行業(yè)涉及成都格柵板等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。
'''
Created?on?2014-11-04
@author:?Neo
'''
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:
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)
print?"Accuracy?with?math.pi:?"+str(accuracy)
if?__name__=="__main__":
main(sys.argv[1:])
result:
d:\workspace\PyDemopython test.py 10 10
Pi is approximately 3.141592653
Accuracy with math.pi: 1.877369797E-8
d:\workspace\PyDemopython test.py 25 25
Pi is approximately 3.141592653589793238462644
Accuracy with math.pi: -3.898171852150198570978563E-15
d:\workspace\PyDemopython test.py 40 40
Pi is approximately 3.141592653589793238462643383279502884195
Accuracy with math.pi: -3.898171832519375446564294863483061824361E-15
d:\workspace\PyDemo
表示為math函數(shù)庫(kù)中的一個(gè)內(nèi)建函數(shù)。
import math:
print "***.modf(100.12) : ", ***.modf(100.12)。
print "***.modf(100.72) : ", ***.modf(100.72)。
print "***.modf(119L) : ", ***.modf(119L)。
print "***.modf(***.pi) : ", ***.modf(***.pi)。
相關(guān)信息:
Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的Guido van Rossum于1990 年代初設(shè)計(jì),作為一門叫做ABC語(yǔ)言的替代品。 Python提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊?。Python語(yǔ)法和動(dòng)態(tài)類型,以及解釋型語(yǔ)言的本質(zhì),使它成為多數(shù)平臺(tái)上寫腳本和快速開發(fā)應(yīng)用的編程語(yǔ)言, 隨著版本的不斷更新和語(yǔ)言新功能的添加,逐漸被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。
Python解釋器易于擴(kuò)展,可以使用C或C++(或者其他可以通過C調(diào)用的語(yǔ)言)擴(kuò)展新的功能和數(shù)據(jù)類型。 Python 也可用于可定制化軟件中的擴(kuò)展程序語(yǔ)言。Python豐富的標(biāo)準(zhǔn)庫(kù),提供了適用于各個(gè)主要系統(tǒng)平臺(tái)的源碼或機(jī)器碼。
因?yàn)閜i是python,math函數(shù)庫(kù)中的一個(gè)內(nèi)建函數(shù)。
import math
print "math.modf(100.12) : ", math.modf(100.12)
print "math.modf(100.72) : ", math.modf(100.72)
print "math.modf(119L) : ", math.modf(119L)
print "math.modf(math.pi) : ", math.modf(math.pi)
擴(kuò)展資料:
cmath是python中的標(biāo)準(zhǔn)庫(kù)函數(shù),用于做復(fù)雜的復(fù)數(shù)運(yùn)算,
Python cmath 模塊包含了一些用于復(fù)數(shù)運(yùn)算的函數(shù)。
cmath 模塊的函數(shù)跟 math 模塊函數(shù)基本一致,區(qū)別是 cmath 模塊運(yùn)算的是復(fù)數(shù),math模塊運(yùn)算的是數(shù)學(xué)運(yùn)算。
polar 函數(shù)對(duì)一個(gè)輸入的笛卡爾形勢(shì)的復(fù)數(shù)進(jìn)行計(jì)算,輸出為一個(gè)二元組,第一個(gè)值為Z的模值, 第二個(gè)為幅度值。 rect() 函數(shù)對(duì)輸入的模和幅度值進(jìn)行計(jì)算輸出笛卡爾表示。如果需要單獨(dú)對(duì)一個(gè)復(fù)數(shù)進(jìn)行幅度值的求解,可以調(diào)用 cmath.phrase(x) 函數(shù),返回幅度值。
參考資料來(lái)源:百度百科-pyhton cmath
表示為math函數(shù)庫(kù)中的一個(gè)內(nèi)建函數(shù)。
import math
print "math.modf(100.12) : ", math.modf(100.12)。
print "math.modf(100.72) : ", math.modf(100.72)。
print "math.modf(119L) : ", math.modf(119L)。
print "math.modf(math.pi) : ", math.modf(math.pi)。
根據(jù)PEP的規(guī)定,必須使用4個(gè)空格來(lái)表示每級(jí)縮進(jìn)(不清楚4個(gè)空格的規(guī)定如何,在實(shí)際編寫中可以自定義空格數(shù),但是要滿足每級(jí)縮進(jìn)間空格數(shù)相等)。使用Tab字符和其它數(shù)目的空格雖然都可以編譯通過,但不符合編碼規(guī)范。支持Tab字符和其它數(shù)目的空格僅僅是為兼容很舊的的Python程序和某些有問題的編輯程序。
python表示圓周率的方法:
使用“import”語(yǔ)句導(dǎo)入math包。“math.pi”函數(shù)可以獲取到圓周率,那么就可以用“math.pi”函數(shù)來(lái)表示圓周率
示例如下:
執(zhí)行結(jié)果如下:
更多Python知識(shí),請(qǐng)關(guān)注:Python自學(xué)網(wǎng)!!