隨機數在計算機科學中使用廣泛,例如在模擬游戲中,生成密碼,加密等等。Python中內置了random模塊,可以用來生成隨機數。在本文中,我們將學習如何生成Python中的高級隨機數。
在生成隨機數之前,讓我們先簡單回顧一下random模塊中的基礎函數。
import random # 返回0到1之間的隨機實數 print(random.random()) # 返回指定范圍內的隨機整數 print(random.randint(1, 100)) # 從序列中隨機選擇一個元素 print(random.choice(['apple', 'banana', 'orange'])) # 從序列中隨機選擇指定數量的元素,返回一個列表 print(random.sample(['apple', 'banana', 'orange'], 2))
以上都是生成簡單的隨機數的方法。Python中還提供了一些高級的隨機數生成函數。
1. random.uniform(a, b)
該函數用于生成指定范圍內的隨機實數。
# 返回1到10之間的隨機實數 print(random.uniform(1, 10)) # 返回-0.5到0.5之間的隨機實數 print(random.uniform(-0.5, 0.5))
2. random.randrange(start, stop[, step])
該函數用于生成指定范圍內的隨機整數。與randint()函數類似,但是支持指定步長。
# 返回1到10之間的隨機偶數 print(random.randrange(2, 11, 2)) # 返回7到49之間的隨機整數,步長為7 print(random.randrange(7, 50, 7))
3. random.shuffle(x[, random])
該函數用于將一個序列中的元素打亂。打亂后的結果是隨機的,但每個元素都會被打亂。
lst = [1, 2, 3, 4, 5] random.shuffle(lst) print(lst)
4. random.gauss(mu, sigma)
該函數用于生成指定均值和標準差的正態分布隨機數。
# 返回均值為0,標準差為1的正態分布隨機數 print(random.gauss(0, 1)) # 返回均值為10,標準差為2的正態分布隨機數 print(random.gauss(10, 2))
以上就是Python中一些高級的隨機數生成函數。它們可以幫助我們更方便地在需要的時候生成符合我們要求的隨機數。