国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python標準庫之隨機數 (math包、random包)介紹

2020-02-23 06:13:39
字體:
來源:轉載
供稿:網友

我們已經在Python運算中看到Python最基本的數學運算功能。此外,math包補充了更多的函數。當然,如果想要更加高級的數學功能,可以考慮選擇標準庫之外的numpy和scipy項目,它們不但支持數組和矩陣運算,還有豐富的數學和物理方程可供使用。

此外,random包可以用來生成隨機數。隨機數不僅可以用于數學用途,還經常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

math包

math包主要處理數學相關的運算。math包定義了兩個常數:

代碼如下:
math.e   # 自然常數e
math.pi  # 圓周率pi

此外,math包還有各種運算函數 (下面函數的功能可以參考數學手冊):
代碼如下:
math.ceil(x)       # 對x向上取整,比如x=1.2,返回2
math.floor(x)      # 對x向下取整,比如x=1.2,返回1
math.pow(x,y)      # 指數運算,得到x的y次方
math.log(x)        # 對數,默認基底為e??梢允褂胋ase參數,來改變對數的基地。比如math.log(100,base=10)
math.sqrt(x)       # 平方根

三角函數: math.sin(x), math.cos(x), math.tan(x), math.asin(x), math.acos(x), math.atan(x)

這些函數都接收一個弧度(radian)為單位的x作為參數。

角度和弧度互換: math.degrees(x), math.radians(x)

雙曲函數: math.sinh(x), math.cosh(x), math.tanh(x), math.asinh(x), math.acosh(x), math.atanh(x)

特殊函數: math.erf(x), math.gamma(x)

random包

如果你已經了解偽隨機數(psudo-random number)的原理,那么你可以使用如下:

代碼如下:
random.seed(x)

來改變隨機數生成器的種子seed。如果你不了解其原理,你不必特別去設定seed,Python會幫你選擇seed。

1) 隨機挑選和排序

random.choice(seq)   # 從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。
random.sample(seq,k) # 從序列中隨機挑選k個元素
random.shuffle(seq)  # 將序列的所有元素隨機排序

2)隨機生成實數

下面生成的實數符合均勻分布(uniform distribution),意味著某個范圍內的每個數字出現的概率相等:

代碼如下:
random.random()          # 隨機生成下一個實數,它在[0,1)范圍內。
random.uniform(a,b)      # 隨機生成下一個實數,它在[a,b]范圍內。

下面生成的實數符合其它的分布 (你可以參考一些統計方面的書籍來了解這些分布):
代碼如下:
random.gauss(mu,sigma)    # 隨機生成符合高斯分布的隨機數,mu,sigma為高斯分布的兩個參數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沿河| 宜川县| 连山| 安福县| 鹿邑县| 宁波市| 泰宁县| 积石山| 南漳县| 汨罗市| 武鸣县| 上林县| 祁东县| 宁远县| 交口县| 手游| 石家庄市| 黑山县| 友谊县| 镇坪县| 南漳县| 双柏县| 安义县| 苍梧县| 彰武县| 城口县| 贡山| 高平市| 徐水县| 太原市| 漳浦县| 和顺县| 隆子县| 云安县| 通许县| 霍邱县| 吴川市| 象州县| 兴宁市| 团风县| 金乡县|