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!

推薦閱讀: