Python3學習筆記3-數學函數

進制轉換

十進制:如17
二進制:前綴爲0b,如0b10001
八進制:前綴爲0o,如0o21
十六進制:前綴爲0x,如11
>>> # 進制轉換
>>> dec = 17    # 十進制
>>> bin(dec)    # 轉換爲二進制
'0b10001'
>>> oct(dec)    # 轉換爲八進制
'0o21'
>>> hex(dec)    # 轉換爲十六進制
'0x11'
>>> 
>>> # 使用int(str, int)把其他進制轉換爲十進制
>>> int('10001', 2) #二進制轉爲十進制,第一個參數爲合法字符串,第二個爲被轉換數字的進制
17
>>> int('21', 8)
17
>>> int('11', 16)
17
>>> int('0b10001', 2)
17
>>> int('0o21', 8)
17
>>> int('0x11', 16)
17
>>> 




數字類型轉換

函數 返回值 ( 描述 )
int(x) 將x轉換爲一個整數
float(x) 將x轉換到一個浮點數

complex(x)

 將x轉換到一個複數,實數部分爲 x,虛數部分爲 0
complex(x, y) 將 x 和 y 轉換到一個複數,實數部分爲 x,虛數部分爲 y

數學函數

import math
函數 返回值 ( 描述 )
abs(x) 返回數字的絕對值,如abs(-10) 返回 10
ceil(x) 返回數字的上入整數,如math.ceil(4.1) 返回 5

cmp(x, y)

如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已廢棄 。使用 使用 (x>y)-(x<y) 替換。
exp(x) 返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 返回數字的絕對值,如math.fabs(-10) 返回10.0
floor(x) 返回數字的下舍整數,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10爲基數的x的對數,如math.log10(100)返回 2.0
max(x1, x2,...) 返回給定參數的最大值,參數可以爲序列。
min(x1, x2,...) 返回給定參數的最小值,參數可以爲序列。
modf(x) 返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。
pow(x, y) x**y 運算後的值。
round(x [,n]) 返回浮點數x的四捨五入值,如給出n值,則代表舍入到小數點後的位數。
sqrt(x) 返回數字x的平方根。

round()函數補充:
  1.  當小數點左邊爲偶數:小數點右邊X<6,舍
  2. 當小數點左邊爲偶數:小數點右邊X>=6,入
  3. 當小數點左邊爲奇數:小數點右邊X<5,舍
  4. 當小數點左邊爲奇數:小數點右邊X>=5,入

所以當小數點左邊分別爲奇數和偶數的時候,小數點右邊的取捨也分別對應兩種取捨標準,實例如下

>>> round(10.4)
10
>>> round(10.5)
10
>>> round(10.6)
11
>>> round(11.4)
11
>>> round(11.5)
12
>>> round(11.6)
12
>>># 國家標準已經規定使用 "4舍6入5看齊,奇進偶不進" 取代"四捨五入".

隨機數函數

import random

隨機數可以用於數學,遊戲,安全等領域中,還經常被嵌入到算法中,用以提高算法效率,並提高程序的安全性。

Python包含以下常用隨機數函數:

函數 描述
choice(seq) 從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。
randrange ([start,] stop [,step]) 從指定範圍內,按指定基數遞增的集合中獲取一個隨機數,基數缺省值爲1
random() 隨機生成下一個實數,它在[0,1)範圍內。
seed([x]) 改變隨機數生成器的種子seed。如果你不瞭解其原理,你不必特別去設定seed,Python會幫你選擇seed。
shuffle(lst) 將序列的所有元素隨機排序
uniform(x, y) 隨機生成下一個實數,它在[x,y]範圍內。

random函數補充

1. random.randint(x,y) #隨機生一個整數int類型,可以指定這個整數的範圍爲[x, y]

實例

>>> random.randint(1000,9999)
8449

2. random.sample(sequence,length) 可以從指定的序列中,隨機的截取指定長度的片斷,不修改原序列。

實例

>>> lst = random.sample('abcd1234',4)
>>> strs = ''.join(lst)
>>> strs
'a432'
>>>

三角函數

improt math

Python包括以下三角函數:

函數 描述
acos(x) 返回x的反餘弦弧度值。
asin(x) 返回x的反正弦弧度值。
atan(x) 返回x的反正切弧度值。
atan2(y, x) 返回給定的 X 及 Y 座標值的反正切值。
cos(x) 返回x的弧度的餘弦值。
hypot(x, y) 返回歐幾里德範數 sqrt(x*x + y*y)。
sin(x) 返回的x弧度的正弦值。
tan(x) 返回x弧度的正切值。
degrees(x) 將弧度轉換爲角度,如degrees(math.pi/2) , 返回90.0
radians(x) 將角度轉換爲弧度

數學常量

常量 描述
pi 數學常量 pi(圓周率,一般以π來表示)
e 數學常量 e,e即自然常數(自然常數)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章