1. 程式人生 > 其它 >2022.04.18-python學習之random模組

2022.04.18-python學習之random模組

 1 # File:learning_016_module_random.py
 2 # Datetime:2022-04-18 11:36
 3 # 隨機數模組
 4 import random
 5 
 6 # 常用的一些random方法
 7 # 1. random.random() 生成0~1之間的浮點數
 8 print("生成0-1之間的隨機浮點數", random.random())
 9 
10 # 2. random.uniform(a,b) 生成指定區間範圍內的浮點數
11 print("生成0~10之間的隨機浮點數", random.uniform(0, 10))
12 
13 # 3. random.randint(a,b)
14 print("生成0-10之間的隨機整數", random.randint(0, 10)) 15 16 # 4. random.choice() 從sequence(序列,列表、元組和字串)中隨機獲取一個元素 17 print(random.choice("python")) 18 19 # 5. random.choices(sequence,k=n) 從sequence(序列,列表、元組和字串)中隨機獲取k個(可能重複)元素,n用引數名傳值,n省略則預設取1個,返回list。 20 print(random.choices("python", k=3)) 21 22 # 6. random.shuffle(list) 將一個列表中的元素打亂(洗牌),隨機排序。直接隨機改變原list的排序
23 lis = [1, 2, 3, 4, 5, 6, 7, 8, 9] 24 random.shuffle(lis) 25 print(lis) 26 27 # 7. random.sample(list,int) 從指定序列中隨機獲取指定長度的片段,原有序列不會改變。有兩個引數,指定序列、需獲取的片段長度。 28 print(random.sample(lis, 5)) 29 30 # 8. random.randrange(start,end,step)獲取區間內的一個隨機數 31 # randrange()函式的引數與range()相同, 32 # 其功能相當於choice(range(start, stop, step)),
33 # 但並不實際產生range物件,該函式返回值型別是int 34 print(random.randrange(1, 100, 2)) 35 36 # 9. random.seed() 只要設定相同的seed,每次生產的隨機數相同,使得隨機資料可預測。可在呼叫其他隨機模組之前呼叫。 37 random.seed(1) 38 print(random.randint(1, 9)) 39 random.seed(1) 40 print(random.randint(1, 9)) # 生成的結果和上次結果相同 41 42 # 不常用的函式 43 # random.getrandbits()包含一個引數k,返回一個不大於k位的十進位制整數。 44 # random.triangular()語法random.triangular(low,high,mode)返回low<N<=high的三角分佈隨機數,mode指定數出現的位置 45 # random.vonmisesvariate()# 卡帕分佈vonmisesvariate(mu, kappa) 46 # random.weibullvariate()威布林分佈random.weibullvariate(alpha, beta) 47 # random.betvatiate() bate分佈random.betavariate(alpha, beta) 48 # random.expovariate() 指數分佈random.expovariate(lambd) 49 # random.gammavariate() 伽馬分佈random.gammavariate(alpha, beta) 50 # random.gauss() 高斯分佈random.gauss(mu, sigma) 51 # random.lognormvariate() 對數正態分佈random.lognormvariate(mu, sigma) 52 # random.normalvariate() 正態分佈random.normalvariate(mu, sigma) 53 # random.paretovariate() 帕累託分佈random.paretovariate(alpha)