中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Python random模塊

發布時間:2020-08-26 09:14:22 來源:億速云 閱讀:175 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關怎么使用Python random模塊,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

random 模塊主要包含生成偽隨機數的各種功能變量和函數。

在 Python 的交互式解釋器中先導入 random 模塊,然后輸入 random.__all__ 命令(__all__ 變量代表了該模塊開放的公開接口),即可看到該模塊所包含的全部屬性和函數:

>>> random.__all__
['Random', 'seed', 'random', 'uniform', 'randint', 'choice', 'sample', 'randrange', 'shuffle', 'normalvariate', 
'lognormvariate', 'expovariate', 'vonmisesvariate', 'gammavariate', 'triangular', 'gauss', 'betavariate', 
'paretovariate', 'weibullvariate', 'getstate', 'setstate', 'getrandbits', 'choices', 'SystemRandom']

在 random 模塊下提供了如下常用函數:

random.seed(a=None, version=2):指定種子來初始化偽隨機數生成器。

random.randrange(start, stop[, stop]):返回從 start 開始到 stop 結束、步長為 step 的隨機數。其實就相當于 choice(range(start, stop, step)) 的效果,只不過實際底層并不生成區間對象。

random.randint(a, b):生成一個范圍為 a≤N≤b 的隨機數。其等同于 randrange(a, b+1) 的效果。

random.choice(seq):從 seq 中隨機抽取一個元素,如果 seq 為空,則引發 IndexError 異常。

random.choices(seq, weights=None, cum_weights=None, k=1):從 seq 序列中抽取 k 個元素,還可通過 weights 指定各元素被抽取的權重(代表被抽取的可能性高低)。

random.shuffle(x[, random]):對 x 序列執行洗牌“隨機排列”操作。

random.sample(population, k):從 population 序列中隨機抽取 k 個獨立的元素。

random.random():生成一個從0.0(包含)到 1.0(不包含)之間的偽隨機浮點數。

random.uniform(a, b):生成一個范圍為 a≤N≤b 的隨機數。

random.expovariate(lambd):生成呈指數分布的隨機數。其中 lambd 參數(其實應該是 lambda,只是 lambda 是 Python 關鍵字,所以簡寫成 lambd)為 1 除以期望平均值。如果 lambd 是正值,則返回的隨機數是從 0 到正無窮大;如果 lambd 為負值,則返回的隨機數是從負無窮大到 0。

下面程序示范了 random 模塊中常見函數的功能和用法:

import random
#生成范圍為0.0≤x<1.0 的偽隨機浮點數
print (random.random())
#生成范圍為2.5≤x<10.0 的偽隨機浮點數
print (random.uniform(2.5, 10.0))
#生成呈指數分布的偽隨機浮點數
print (random.expovariate(1/5))
#生成從0 到9 的偽隨機整數
print(random.randrange(10))
#生成從0 到100 的隨機偶數
print (random.randrange(0, 101 , 2))
#隨機抽取一個元素
print (random.choice (['Python','Swift','Kotlin']))
book_list = ['Python','Swift','Kotlin']
#對列表元素進行隨機排列
random.shuffle (book_list)
print (book_list)
#隨機抽取4 個獨立的元素
print (random.sample([10, 20 , 30 , 40 , 50], k=4))

運行上面程序,可以看到如下輸出結果:

0.7097266660597923
6.4845555071809535
9.707899380000603
2
70
Python
['Swift', 'Python', 'Kotlin']
[20, 10, 30, 50]

實際上,使用 random 模塊中的隨機函數可以做很多很有趣的事情。比如下面程序:

import random
import collections
#指定隨機抽取6 個元素,各元素被抽取的權重(概率)不同
print(random.choices(['Python','Swift','Kotlin'], [5, 5, 1], k=6))
#下面模擬從52 張撲克牌中抽取20 張
#在被拍到的20 張牌中,牌面為10(包括J、Q、K的的牌占多大比例
#生成一個16個tens(代表10)和36 個low_cards(代表其他牌)的集合
deck= collections.Counter(tens=16, low_cards=36)
#從52 張牌中隨機抽取20 張
seen= random.sample(list(deck.elements()), k=20)
#統計tens 元素有多少個,再除以20
print(seen.count('tens')/20)

運行上面程序,可以看到如下輸出結果:

['Swift', 'Swift', 'Swift', 'Swift', 'Python', 'Swift']
0.45

上述就是小編為大家分享的怎么使用Python random模塊了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌平区| 泰安市| 尚志市| 鱼台县| 隆昌县| 丰都县| 宜阳县| 山东| 绥阳县| 莱州市| 抚顺市| 佛山市| 荃湾区| 常宁市| 玉屏| 衡水市| 邛崃市| 资中县| 金阳县| 关岭| 临夏市| 新疆| 华安县| 江永县| 阳江市| 浦城县| 印江| 宜良县| 尤溪县| 连城县| 宽城| 聊城市| 拜泉县| 正安县| 青州市| 凉山| 赣榆县| 萨嘎县| 孝感市| 精河县| 靖安县|