random 隨機函式使用
阿新 • • 發佈:2018-11-10
random 隨機函式的使用
需要掌握的能力
- 能夠使用隨機種子產生“確定”的隨機數
- 能夠產生隨機整數
- 能夠序列列表進行操作
一能夠使用隨機種子產生“確定”的隨機數
給定隨機數種子函式為random.seed()函式,當給定隨機數種子時,產生的是一個隨機數序列,在這個種子下隨機數序列也是確定的。
import random In [2]: random.seed(10) In [3]: random.random() Out[3]: 0.5714025946899135 In [4]: random.random() Out[4]: 0.4288890546751146
In [8]: random.seed(10)
In [9]: random.random()
Out[9]: 0.5714025946899135
In [10]: random.seed(10)
In [11]: random.random()
Out[11]: 0.5714025946899135
一般情況下不設頂隨機數種子時,預設是使用系統時間作為隨機數種子
二 產生隨機整數
產生整數有幾個函式random.randint(a,b)
產生a到b之間的隨機整數,random.randrange(a,b,k)
產生a到b之間的以k為步長的整數。
random.randrange(10,100,5) Out[12]: 75 In [13]: random.randrange(10,100,5) Out[13]: 85 In [14]: random.randrange(10,100,5) Out[14]: 10
產生隨機小數
random.uniform(a,b)
產生a到b之間的隨機小數。
In [15]: random.uniform(10,20)
Out[15]: 12.060982321395016
In [16]: random.uniform(10,20)
Out[16]: 18.1332125135732
三 對序列進行操作
主要有兩個函式random.choice([])
從序列中隨機挑選一個,random.shuffle([])
對序列進行隨機排序並返回。
In [17]: random.choice([1,2,3,5,9,8,10]) Out[17]: 10 In [18]: random.choice([1,2,3,5,9,8,10]) Out[18]: 3
In [20]: s = [1,2,3,5,6,8,9,4]
In [21]: random.shuffle(s)
In [22]: print(s)
[2, 8, 9, 4, 5, 6, 1, 3]
random.sample()
函式
random.sample的函式原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。sample函式不會修改原有序列。
In [24]: lii = random.sample(s,3)
In [25]: print(lii)
[6, 2, 4]
In [26]: print(s)
[2, 8, 9, 4, 5, 6, 1, 3]