Random庫
random庫是使用隨機數的Python標準庫
僞隨機數:採用梅森旋轉算法可以生成僞隨機序列中元素
生成隨機數:
給定隨機數種子-》採用梅森旋轉算法-》隨機序列
基本隨機函數:seed(),random()
擴展隨機函數:randint(),randrange(),getrandbit(),ubiform(),choice(),shuffle()
seed(a=none)
描述:初始化給定的隨機數種子,默認爲當前系統的時間
random.seed(10)
產生種子10對應的序列
random()
描述:生成一個[0.0,1.0)之間的隨機小數
random.random()
0.9469572481012325
可以利用seed來控制random生成的隨機數
>>> import random
>>> random.random()
0.9469572481012325
>>> random.random()
0.2735506429592328
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.seed(7)
>>> random.random()
0.32383276483316237
>>> random.seed(7)
>>> random.random()
0.32383276483316237
randint(a,b)
生成一個[a,b]之間的整數
random.randint(10,100)
64
randrange(m,n[,k])
生成一個[m,n)之間以k爲步長的隨機整數
randint.randrange(10,100,10)
80
getrandbits(k)
生成一個k比特長度的隨機整數
random.getrandbits(2)
0或1或2或3
uniform(a,b)
生成[a,b]之間的隨機小數
random.uniform(4,6)
4.429396361671324
choice(seq)
從序列seq中隨機選取一個元素
random.choice([1,2,3,4,5,6])
1
shuffle(seq)
將序列seq中元素隨機排列,然後返回打亂後的序列
>>>s = [1,2,15,6,4,3,3,6,3,3]
>>>random.shuffle(s)
>>>s
[4, 15, 3, 3, 6, 2, 3, 3, 1, 6]