Python3實(shí)現(xiàn)隨機(jī)數(shù),供大家參考,具體內(nèi)容如下
在科爾沁右翼前等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,科爾沁右翼前網(wǎng)站建設(shè)費(fèi)用合理。random是用于生成隨機(jī)數(shù)的,我們可以利用它隨機(jī)生成數(shù)字或者選擇字符串。
random.seed(x)改變隨機(jī)數(shù)生成器的種子seed。
一般不必特別去設(shè)定seed,Python會(huì)自動(dòng)選擇seed。
random.random() 用于生成一個(gè)隨機(jī)浮點(diǎn)數(shù)n,0 <= n < 1
random.uniform(a,b) 用于生成一個(gè)指定范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù),生成的隨機(jī)整數(shù)a<=n<=b;
random.randint(a,b)
用于生成一個(gè)指定范圍內(nèi)的整數(shù),a為下限,b為上限,生成的隨機(jī)整數(shù)a<=n<=b;若a=b,則n=a;若a>b,報(bào)錯(cuò)
random.randrange([start], stop [,step])
從指定范圍[start,stop)內(nèi),按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù),基數(shù)缺省值為1
random.choice(sequence)
從序列中獲取一個(gè)隨機(jī)元素,參數(shù)sequence表示一個(gè)有序類型,并不是一種特定類型,泛指list,tuple,字符串等
random.shuffle(x[,random]) 用于將一個(gè)列表中的元素打亂(洗牌),會(huì)改變?cè)剂斜?br />random.sample(sequence,k) 從指定序列中隨機(jī)獲取k個(gè)元素作為一個(gè)片段返回,不會(huì)改變?cè)行蛄?/p>
但是,有一點(diǎn)需要注意:python random是偽隨機(jī)數(shù)。
那么,可以借用python random實(shí)現(xiàn)真隨機(jī)數(shù)嗎?答案是No。所謂真隨機(jī)數(shù),是要求根據(jù)絕對(duì)隨機(jī)事件產(chǎn)生的數(shù),也就是說要求要有一個(gè)無因果關(guān)系的隨機(jī)事件,那么,這玩意只存在與哲學(xué)領(lǐng)域……
目前的隨機(jī)數(shù)產(chǎn)生都是統(tǒng)計(jì)上的隨機(jī),因?yàn)殡S機(jī)源都是自然事件,頂天了算是混沌變量,絕對(duì)的無因果大概是不存在的。
不過統(tǒng)計(jì)隨機(jī)基本上都?jí)蛴昧税伞?
還是老老實(shí)實(shí)的用random模塊吧….
代碼演示
import random #隨機(jī)整數(shù) import string print(random.randint(0,99)) #隨機(jī)選取0到100間的偶數(shù) print(random.randrange(0, 101, 2)) #隨機(jī)浮點(diǎn)數(shù) print(random.random()) print(random.uniform(1, 10)) #隨機(jī)字符 print(random.choice('abcdefg%^*f')) #多個(gè)字符中選取特定數(shù)量的字符 print(random.sample('abcdefghij',3)) #多個(gè)字符中選取特定數(shù)量的字符組成新字符串 # print(string.join(random.sample(['a','b','c','d','e','f','g','h','i','j'], 3)).replace(" ","")) #隨機(jī)選取字符串 print(random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )) #洗牌 items = [1, 2, 3, 4, 5, 6] random.shuffle(items) print("洗牌:", items) #從指定序列中隨機(jī)獲取k個(gè)元素作為一個(gè)片段返回,不會(huì)改變?cè)行蛄?list = [] list = random.sample(items,2) print(list)