Python生成隨機數(shù)詳解流程
一、隨機數(shù)種子
為什么要提出隨機數(shù)種子呢?咱們前面提到過了,隨機數(shù)均是模擬出來的, 想要模擬的比較真實,就需要變換種子函數(shù)內(nèi)的數(shù)值,一般以時間戳為隨機函數(shù)種子。 例如以下案例,將隨機數(shù)種子固定的時候,生成的隨機數(shù)也將固定。 系統(tǒng)默認(rèn)以時間戳為種子進行隨機數(shù)的生成。 單一時間戳
隨機時間戳
第一次結(jié)果
第二次結(jié)果
二、生成隨機數(shù)
以下一生成10個1-100的隨機數(shù)為例
1.random()
生成[0-1)的隨機數(shù)為float型。后面的大部分函數(shù)都是基于這個函數(shù)進行隨機數(shù)生成的 想要生成響應(yīng)區(qū)域的隨機數(shù)可以使用這個函數(shù)乘以一個對應(yīng)的整數(shù)
from random import * for i in range(10): print(int(random()*100+1),end=" ") print()
2.ranint(a,b)
隨機生成一個a-b的整數(shù)
from random import * for i in range(10): print(randint(1,100),end=" ")
3.randrange(start,stop [,step])
有起始、終止、步長三大要素,在生成隨機數(shù)的時候包括下限不包括上限。
from random import * for i in range(10): print(int(randrange(1,101)),end=" ")
4.getrandbits(k)
返回一個隨機整數(shù),整數(shù)的位長為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個元素不會重復(fù)。(需要滿足len(序列)>=k)
代碼如下:
from random import * test=[1,23,3,22,13] print(sample(test,3))
3.shuffle(x[,random])
這個函數(shù)的目的就是隨機排序,在原序列的基礎(chǔ)上進行排序
代碼如下:
from random import * test=[1,23,3,22,13] shuffle(test) print(test)
到此這篇關(guān)于Python生成隨機數(shù)詳解流程的文章就介紹到這了,更多相關(guān)Python 生成隨機數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)mp3文件播放的具體實現(xiàn)代碼
前段時間在搞一個基于python的語音助手,其中需要用到python播放音頻的功能,下面這篇文章主要給大家介紹了關(guān)于python實現(xiàn)mp3文件播放的具體實現(xiàn)代碼,需要的朋友可以參考下2023-05-05基于數(shù)據(jù)歸一化以及Python實現(xiàn)方式
今天小編就為大家分享一篇基于數(shù)據(jù)歸一化以及Python實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07Python中的with語句與上下文管理器學(xué)習(xí)總結(jié)
在Python中作為上下文管理器的對象可以使用with語句,提供上下文管理器的contextlib模塊的使用則是Python編程中的高級技巧,下面我們就來詳細(xì)整理一下Python中的with語句與上下文管理器學(xué)習(xí)總結(jié):2016-06-06Python3與redis交互,保存的是字符串,取出來是bytes類型問題
這篇文章主要介紹了Python3與redis交互,保存的是字符串,取出來是bytes類型問題,具有很好的參考價值,希望對大家有所幫助,2023-09-09