Python生成隨機數詳解流程
一、隨機數種子
為什麼要提出隨機數種子呢?咱們前面提到過瞭,隨機數均是模擬出來的, 想要模擬的比較真實,就需要變換種子函數內的數值,一般以時間戳為隨機函數種子。 例如以下案例,將隨機數種子固定的時候,生成的隨機數也將固定。 系統默認以時間戳為種子進行隨機數的生成。 單一時間戳
隨機時間戳
第一次結果
第二次結果
二、生成隨機數
以下一生成10個1-100的隨機數為例
1.random()
生成[0-1)的隨機數為float型。後面的大部分函數都是基於這個函數進行隨機數生成的 想要生成響應區域的隨機數可以使用這個函數乘以一個對應的整數
from random import * for i in range(10): print(int(random()*100+1),end=" ") print()
2.ranint(a,b)
隨機生成一個a-b的整數
from random import * for i in range(10): print(randint(1,100),end=" ")
3.randrange(start,stop [,step])
有起始、終止、步長三大要素,在生成隨機數的時候包括下限不包括上限。
from random import * for i in range(10): print(int(randrange(1,101)),end=" ")
4.getrandbits(k)
返回一個隨機整數,整數的位長為k位。
from random import * for i in range(10): print(int(getrandbits(4)),end=" ")
三、生成隨機序列
1.choice(seq)
從給定的序列中隨機抽取一個
代碼如下:
from random import * test=[12,3,1,2,33,21] for i in range(10): print(choice(test))
2.samplex(序列,k)
從序列中隨機抽取k個元素,這k個元素不會重復。(需要滿足len(序列)>=k)
代碼如下:
from random import * test=[1,23,3,22,13] print(sample(test,3))
3.shuffle(x[,random])
這個函數的目的就是隨機排序,在原序列的基礎上進行排序
代碼如下:
from random import * test=[1,23,3,22,13] shuffle(test) print(test)
到此這篇關於Python生成隨機數詳解流程的文章就介紹到這瞭,更多相關Python 生成隨機數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python如何生成隨機數及random隨機數模塊應用
- Python 中random 庫的詳細使用
- 源碼解析python中randint函數的效率缺陷
- Python標準庫之Math,Random模塊使用詳解
- Python中的sys模塊、random模塊和math模塊