Python使用random模組生成隨機數操作例項詳解
阿新 • • 發佈:2020-01-09
本文例項講述了Python使用random模組生成隨機數操作。分享給大家供大家參考,具體如下:
今天在用Python編寫一個小程式時,要用到隨機數,於是就在網上查了一下關於Python生成各種隨機數的方法,現將其總結如下:
此處,利用Python中的random模組生成隨機數。因此首先必須匯入該模組:import random
一. 隨機產生一個元素
import random #生成一個0到1的隨機浮點數: 0 <= n < 1.0 print(random.random()) >>> 0.8296185863491462 #生成一個指定範圍內的隨機符點數,兩個引數其中一個是上限,一個是下限。 #如果a > b,則生成的隨機數n: a <= n <= b。如果 a <b, 則 b <= n <= a。 #函式原型為:random.uniform(a,b) print(random.uniform(1,10)) >>> 8.257312492950838 #生成一個指定範圍內的整數。其中引數a是下限,引數b是上限, #生成的隨機數n: a <= n <= b,函式原型為:random.randint(a,b) #注意:此處要求 a<=b print(random.randint(1,10)) >>> 3 #從指定範圍內,按指定基數遞增的集合中獲取一個隨機數 #函式原型為:random.randrange(start,stop,step) #如產生一個0-10的隨機數,其步長為2,即[0,2,4,6,8],然後在隨機取出一個隨機數 print(random.randrange(0,10,2)) >>> 2 #從序列中獲取一個隨機元素。 函式原型為:random.choice(sequence) #注意:sequence在python不是一種特定的型別,而是泛指一系列的型別; #注意:list,tuple,字串都屬於sequence。 print(random.choice( ['apple','pear','peach','orange','lemon'] )) print(random.choice( ('1','2','3','4','5') )) print(random.choice( [1,3,5] )) >>> orange >>> 2 >>> 2 #用於將一個列表中的元素打亂。 函式原型為:random.shuffle(x[,random]) p = ["Python","is","powerful","simple","and so on..."] random.shuffle(p) print(p) >>> ['Python','is','simple','powerful','and so on...'] #從指定序列中隨機獲取指定長度的片斷。sample函式不會修改原有序列。 #如果k大於sequence元素個數的話會報錯。 函式原型為:random.sample(sequence,k) list = [1,5,7,8,9] print(random.sample(list,2)) print(random.sample(list,5)) >>> [5,3] >>> [9,3]
二.產生一個隨機陣列
import numpy as np #例如產生一個隨機陣列array #方法一: a = np.array([2,1,9,0]) print(a) >>> array([2,0]) #產生一個(0,1)之間的10維的隨機陣列 #方法二; b = np.random.rand(10) print(b) >>> array([ 0.43634533,0.00256198,0.9252553,0.46312913,0.18253324,0.70458872,0.79719794,0.18972441,0.5304701,0.11495708]) #產生一個(0,1)之間的10維的隨機陣列 #方法三; c = np.random.random(10) print(c) >>> array([ 0.62725822,0.69752737,0.67910128,0.32876791,0.05591991,0.71435415,0.62612756,0.10492805,0.45868039,0.66527572]) #產生一個(0,1)之間的 3*4 的陣列矩陣 #方法三; d = np.random.random(size = (3,4)) print(d) >>> array([[ 0.81287511,0.07447028,0.83052561,0.69899251],[ 0.30087294,0.24102044,0.2261788,0.7931203 ],[ 0.10688122,0.93165383,0.02486699,0.66883373]])
三.隨機產生一個list或tuple
import random #例如隨機產生一個指定範圍的整數list或tuple #方法一: a = [random.randint(0,5) for i in range(20)] print(a) #方法二; for _ in range(10): b = random.randint(0,5) print(b)
結果為:
[5,0]
4
2
1
1
3
0
5
4
4
5
PS:這裡再提供幾款相關工具供大家參考使用:
線上隨機數生成工具:
http://tools.jb51.net/aideddesign/rnd_num
線上隨機生成個人資訊資料工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
線上隨機字元/隨機密碼生成工具:
http://tools.jb51.net/aideddesign/rnd_password
線上隨機數字/字串生成工具:
http://tools.jb51.net/aideddesign/suijishu
更多關於Python相關內容感興趣的讀者可檢視本站專題:《Python數學運算技巧總結》、《Python字串操作技巧彙總》、《Python編碼操作技巧總結》、《Python資料結構與演算法教程》、《Python函式使用技巧總結》、《Python入門與進階經典教程》及《Python檔案與目錄操作技巧彙總》
希望本文所述對大家Python程式設計有所幫助。