一、概念
random函數:一個生成隨機數值的函數,random() 方法返回隨機生成的一個實數,它在[0,1)范圍內。
二、使用random函數過程:
1 1、 #導入random函數 2 3 import random 4 # 生成第一個隨機數 5 6 print ("random() : ", random.random()) 7 8 # 生成第二個隨機數 9 10 print ("random() : ", random.random())
random() : 0.281954791393 random() : 0.309090465205
2、常見的幾種函數用法:
1 import random 2 3 print( random.randint(1,10) ) # 產生 1 到 10 的一個整數型隨機數 4 print( random.random() ) # 產生 0 到 1 之間的隨機浮點數 5 print( random.uniform(1.1,5.4) ) # 產生 1.1 到 5.4 之間的隨機浮點數,區間可以不是整數 6 print( random.choice('tomorrow') ) # 從序列中隨機選取一個元素 7 print( random.randrange(1,100,2) ) # 生成從1到100的間隔為2的隨機整數 8 9 a=[1,3,5,6,7] # 將序列a中的元素順序打亂 10 random.shuffle(a) 11 print(a)
3、Python 生成隨機數、隨機字符串
1 import random 2 import string 3 4 # 隨機整數: 5 print (random.randint(1,50)) 6 7 # 隨機選取0到100間的偶數: 8 print (random.randrange(0, 101, 2)) 9 10 # 隨機浮點數: 11 print (random.random()) 12 print (random.uniform(1, 10)) 13 14 # 隨機字符: 15 print (random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')) 16 17 # 多個字符中生成指定數量的隨機字符: 18 print (random.sample('zyxwvutsrqponmlkjihgfedcba',5)) 19 20 # 從a-zA-Z0-9生成指定數量的隨機字符: 21 ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8)) 22 print (ran_str) 23 24 # 多個字符中選取指定數量的字符組成新字符串: 25 print (''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5))) 26 27 # 隨機選取字符串: 28 print(random.choice(['剪刀', '石頭', '布'])) 29 30 # 打亂排序 31 items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] 32 print(random.shuffle(items))
三、循環獲取若干個隨機數的寫法:
1、使用for循環獲取(-20,20)內的5個隨機數:
xData = [] for i in range(5): xData.append(random.randint(-20,20)) print(xData)
運行結果為:
[-6, -13, -9, -20, 6]
2、使用列表推導式獲取(-20,20)內的5個隨機數
xData= [random.randint(-20,20) for i in range(5)]