1. 程式人生 > >python中math常用函式

python中math常用函式

python中math的使用

import math   #先匯入math包

1 三角函式

print math.pi #列印pi的值
3.14159265359
print math.radians(180)  #把度數轉化為弧度,即180=pi
3.14159265359
sin90 = math.sin(math.pi/2)  #計算sin(pi/2)
sin180 = math.sin(math.pi)  #計算sin(pi)
cos90 = math.cos(math.pi/2) #計算cos(pi/2)
cos180 = math.cos(math.pi)  #計算cos(pi)
print 'sin90 is {} ,sin180 is {} ;cos90 is {} ,cos180 is {} .'.format(sin90,sin180,cos90,cos180)
sin90 is 1.0  ,sin180 is 1.22464679915e-16  ;cos90 is 6.12323399574e-17  ,cos180 is -1.0  .

從上面可以看到sin(pi)和cos(pi/2)都不為0,而是一個很接近0的數,這是因為math.pi不是精確的pi。pi是一個無理數,而機器在儲存無理數時只會根據精度擷取其中一部分,也就是說機器會根據精度用有理數來代替無理數。所以這裡的計算會存在一些誤差,但這裡的誤差已經到了10的-16次,這對計算機來說已經非常小了,一般我們要求的誤差是10的-5次。
當然啦,我們也可以指定輸出浮點數的位數,如下:

print ('%.3f'%(sin180))  #保留3位小數
0.000

2 乘方 開方

#乘方開方,可以藉助math中的pow函式
print math.pow(10,3)  #10是底數,3是指數
print math.pow(27,1/3)
1000.0
1.0

從上面的結果可以看到math.pow()函式得出的結果是浮點數。如果我們希望乘方的結果是整數的話,我們也可以使用下面的方法。

print 10**3
1000

3 上下取整

print math.floor(3.14)#向下取整
3.0
print math.ceil(3.14)#向上取整
4.0

4 取最大最小值

min(1,100,90,700)  #取最小值
1
max(1,100,90,700)   #取最大值
700

5 求和

sum([1,2,3,4,5])
15

6 同時取商和餘數

divmod(10,3)  #求10除以3的商和餘數
(3, 1)