Python標準庫之Math,Random模塊使用詳解
數(shù)學模塊
import math
ceil -- 上取整
對一個數(shù)向上取整(進一法),取相鄰最近的兩個整數(shù)的最大值。
import math res = math.ceil(4.1) print(res) # 5
floor -- 下取整
對一個數(shù)向下取整(退一法),取相鄰最近的兩個整數(shù)的最小值。
import math res = math.floor(-3.9) print(res) # -4
四舍五入
將常用的內置函數(shù) -- round。
pow -- 冪運算
計算一個數(shù)字的N次方。
import math """ 調用的數(shù)學模塊中的方法和內置的主要區(qū)別就是內置返回整數(shù),數(shù)學模塊返回小數(shù) """ # 數(shù)學模塊 res = math.pow(2, 3) print(res) # 8.0 # 內置函數(shù) res = pow(2, 3) print(res) # 8 # 更簡單的方法就是使用 ** 進行冪運算 res = 2 ** 3 print(res) # 8
sqrt -- 開平方運算
import math res = math.sqrt(9) # 結果為浮點型 print(res) # 3.0
fabs -- 絕對值
import math """ 調用的數(shù)學模塊中的方法和內置的主要區(qū)別就是內置返回整數(shù),數(shù)學模塊返回小數(shù) """ # 數(shù)學模塊 res = math.fabs(-12341234123) print(res) # 12341234123.0 # 內置函數(shù) res = abs(-12341234123) print(res) #12341234123
modf -- 拆分整數(shù)小數(shù)
將一個數(shù)值拆分為小數(shù)和整數(shù)兩個部分,組成元組,值為浮點型。
import math res = math.modf(100.666) print(res) # (0.6659999999999968, 100.0)
copysign -- 正負拷貝
將第二個參數(shù)的正負狀態(tài)拷貝給第一參數(shù)。(返回浮點型)
import math res = math.copysign(100, -200) print(res) # -100.0
fsum -- 序列和
將一個容器中的元素進行求和運算(結果為浮點數(shù))
import math lst = [1, 2, 3] res = math.fsum(lst) print(res) # 6.0
pi -- 圓周率常數(shù)
import math res = math.pi print(res) # 3.141592653589793
factorial -- 因數(shù)
import math # 求5的因數(shù) factor = math.factorial(5) print(factor) # 120
隨機模塊
import random
random -- 獲取 0~~1 之間的小數(shù)
random 隨機獲取0 ~ 1之間的小數(shù)(左閉右開)0 <= x < 1
import random res = random.random() print(res) # 0.15195915170299268
randrange -- 獲取指定范圍內的整數(shù)
語法:rangrange(start, end[, step])
randint -- 獲取指定范圍整數(shù)
語法:randint(a, b)
相比 randrange 靈活性低,但是結束值可用
uniform -- 獲取指定范圍內隨機小數(shù)(左閉右開)
import random # uniform 獲取指定范圍內的隨機小數(shù)(左閉右開) res = random.uniform(1, 3) print(res) # 2.81589512983781 # 因為內置機制的原因(uniform 可以將數(shù)值顛倒,并達到相同的效果) res = random.uniform(3, 1) print(res) # 1.4023313207919326
choice -- 隨機獲取序列中的值(多選一)
import random # 可以嘗試使用 randrange 實現(xiàn) lst = ['A', 'B', 'C', 'D', 'E'] res = random.choice(lst) print(res) # E
sample -- 隨機獲取序列中的值(多選多,返回列表)
語法:sample(poplation, num)
import random lst = ['A', 'B', 'C', 'D', 'E', 'F'] res = random.sample(lst, 1) print(res) # ['F'] res = random.sample(lst, 2) print(res) # ['C', 'A']
shuffle -- 隨機打亂序列中的值(原地址操作)
import random lst = ['A', 'B', 'C', 'D', 'E', 'F'] random.shuffle(lst) print(lst) # ['F', 'D', 'C', 'B', 'E', 'A']
實現(xiàn)隨機驗證碼
import random def getVer(): ver_code = '' # 隨機抽取四個字符 for i in range(4): s_char = chr(random.randrange(97, 123)) b_char = chr(random.randrange(65, 91)) num = str(random.randrange(10)) lst = [s_char, b_char, num] ver_code += random.choice(lst) return ver_code ver = getVer() print(ver) # b4Vq
以上就是Python標準庫之Math,Random模塊使用詳解的詳細內容,更多關于Python Math Random模塊的資料請關注腳本之家其它相關文章!
相關文章
Python創(chuàng)建Excel表和讀取Excel表的基本操作
這篇文章主要介紹了Python創(chuàng)建Excel表和讀取Excel表的基本操作,文中通過代碼示例和圖文結合的方式講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-07-07python3線程池ThreadPoolExecutor處理csv文件數(shù)據(jù)
這篇文章主要為大家介紹了python3線程池ThreadPoolExecutor處理csv文件數(shù)據(jù)實現(xiàn)的實例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06