random庫是用於產生並運用隨機數的標准庫
主要包含的有9個隨機函數,分別是:
seed(), random(), randint(), getrandbits(), randrange(), uniform(),choice() shuffle(), sample()
介紹如下:
random.seed(a)
設置初始化隨機種子a
a:隨機種子,可以是整數或浮點數。
使用random庫產生隨機種子,如果不設置,,則random庫默認以系統時間產生當做隨機種子。設置種子的好處是可以重復再現相同的隨機種子。
random.random()
生成一個[0.0, 1.0)之間的隨機種子
import random print(random.random()) --> 0.10555404538917945
random.randint(a, b)
生成一個[a, b]之間的隨機整數
隨機區間的開始值,整數。
隨機區間的結束值,隨機數包含結束值整數。
import random print(random.randint(0, 100)) --> 隨機返回一個1到100的整數,例如22,34,67,54
random.getrandbits(k)
生成一個k比特長度的隨機整數。
k:長度的整數值
import random print(random.getrandbits(10)) --> 770 178 270 比特長度為10的隨機整數
random.randrange(start, stop[, step])
生成一個[start, stop]之間以step為步數的隨機整數
start:隨機區間的開始值,整數
stop:隨機區間的結束值,隨機數包含結束值,整數
step:隨機區間的步長值,整數。步長值可選,如果不設定步長,默認步長為1
import random print(random.randrange(0, 100, 2)) --> 返回一個0到100的隨機偶數,整數.例如:22,46,88,48
random.uniform(a, b)
生成一個[a, b]之間的一個隨機小數。
a:隨機區間的開始值,整數或浮點數
b:隨機區間的結束值,隨機數包含結束值,整數或浮點數
import random print(random.uniform(0, 10)) --> 返回一個0到10之間的隨機小數(例如:8.519225050623398)
random.choice(seq)
從序列類型(例如列表)seq中隨機返回一個元素
seq:序列類型,例如列表類型
import random li = [1, 3, 5, 7, 9] print(random.choice(li)) --> 隨機返回一個列表li中的元素
random.shuffle(seq)
將序列類型seq中的元素隨機排列,返回打亂后的序列(類比洗牌)
seq:序列類型,例如列表類型
調用該函數,序列類型seq將被改變
import random li = [2, 4, 6, 8, 10] random.shuffle(li) print(li) --> 返回一個亂序的列表li 例如:[4, 2, 10, 8, 6]
random.sample(pop, k)
從pop類型中隨機選取k個元素,以列表的類型返回
pop:序列類型,例如列表
k:選取的個數,整數
import random li = [1, 2, 3, 4, 5, 6, 7, 8, 9] str = '人生苦短,我用python' print(random.sample(li, 3)) print(random.sample(str, 2)) --> 第一行,在列表li中隨機選取三個元素 第二行在字符串str中隨機選取兩個元素 例如: [1, 8, 6] ['人', 'p']