1.介紹
Random庫Python中用于生成亂數的一個標準庫,計算機沒有辦法產生真正的亂數,但它可以產生偽亂數,
偽亂數是計算機按照一定的運算規則產生的一些資料,只不過這些資料表現為亂數的形式,計算機中采用梅森旋轉演算法生成為隨機序列,序列中的每一個元素就是偽亂數,由于計算機不能產生真正的亂數,所以偽亂數也就被稱為亂數,
Random庫包含兩類函式,常用的有8個:
-
基本隨機函式:seed(),random()
-
擴展隨機函式:randint(),getrandbits(),uniform(),randrange(),choice(),shuffle()
2.基本亂數函式
Python中的亂數使用亂數種子來產生,亂數種子通過梅森旋轉演算法產生隨機序列,這個隨機序列是唯一并且確定的,隨機序列中的每一個數就是亂數,換句話說,只要亂數種子相同,那么產生的隨機序列無論是每一個數,還是數之間的關系都是相同的,
seed(a=None)
初始化給定的亂數種子,默認為當前時間
random()
生成一個[0.0,1.0)之間的隨機小數(大于等于0,小于1),
根據亂數種子產生隨機序列,產生后第一次呼叫該函式,則回傳序列的第0個元素;
第二次呼叫,則回傳序列的第1個元素......以此類推,
實體1:
使用默認的亂數種子產生亂數
>>> import random
>>> random.seed()
>>> random.random()
0.4583742792868192
>>> random.random()
0.9905749191276231
>>> random.seed()
>>> random.random()
0.8846207230562237
>>> random.random()
0.13447072126096293
實體2:
使用固定的亂數種子產生亂數
>>> import random
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.random()
0.4288890546751146
>>> random.seed(10)
>>> random.random()
0.5714025946899135
>>> random.random()
0.4288890546751146
3.擴展亂數函式
randint(a,b)
生成一個[a,b]之間的隨機整數(大于等于a,小于等于b),例如:
>>> import random
#Python小白學習交流群:725638078
>>> random.randint(1,9)
3
randrange(m,n[,k])
生成一個[m,n)之間以k為步長的隨機整數(大于等于m,小于n),例如:
>>> import random
>>> random.randrange(10,110,10)
20
getrandbits(k)
生成一個長度為k的二進制隨機整數,例如:
>>> import random
>>> random.getrandbits(16)
17266
uniform(a,b)
生成一個[a,b]之間的隨機小數(大于等于a,小于等于b),例如:
>>> import random
>>> random.uniform(10,20)
12.484765001518227
choice(seq)
從序列seq中隨機選擇一個元素,例如:
>>> import random
>>> random.choice((1,2,3,4,5,6,7,8))
4
shuffle(seq)
將變數序列seq中元素隨機排序,并回傳給序列的變數,例如:
>>> import random
>>> seq=[1,2,3,4,5,6,7]
>>> random.shuffle(seq)
>>> print(seq)
[4, 3, 2, 1, 7, 6, 5]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/551282.html
標籤:其他
上一篇:go中 for回圈的坑
下一篇:返回列表