# Python中的隨機函數random怎么用
在Python編程中,`random`模塊是生成偽隨機數的核心工具,廣泛應用于游戲開發、數據采樣、密碼學等領域。本文將詳細介紹`random`模塊的常用函數及實際應用場景。
## 1. random模塊基礎
### 1.1 模塊導入
使用前需先導入模塊:
```python
import random
random.random()
生成[0.0, 1.0)范圍內的浮點數
print(random.random()) # 輸出類似 0.5488135039273248
random.uniform(a, b)
生成[a, b]范圍內的隨機浮點數
print(random.uniform(3, 7)) # 輸出 4.191519...
生成閉區間[a, b]的整數:
dice = random.randint(1, 6) # 模擬骰子
更靈活的整數生成:
# 生成0-9的偶數
even_num = random.randrange(0, 10, 2)
從序列中隨機選擇:
colors = ['red', 'green', 'blue']
print(random.choice(colors)) # 可能輸出'green'
帶權重的多選(Python 3.6+):
# 權重為3:1:1
print(random.choices(colors, weights=[3,1,1], k=2))
原地打亂序列:
cards = ['A', 'K', 'Q', 'J']
random.shuffle(cards) # 變為['Q', 'A', 'J', 'K']等
無重復抽樣:
# 從1-100中選5個不重復數
lottery = random.sample(range(1,101), 5)
random.seed(42) # 使結果可復現
random.gauss(mu, sigma)
random.expovariate(lambd)
def generate_code(length=6):
chars = string.ascii_letters + string.digits
return ''.join(random.choices(chars, k=length))
def estimate_pi(n):
inside = 0
for _ in range(n):
x, y = random.random(), random.random()
if x**2 + y**2 <= 1:
inside += 1
return 4 * inside / n
secrets
模塊import random
# 模擬抽獎系統
prizes = ['一等獎', '二等獎', '三等獎', '謝謝參與']
weights = [0.01, 0.09, 0.3, 0.6]
result = random.choices(prizes, weights, k=10)
print("抽獎結果:", result)
# 生成隨機密碼
import string
password = ''.join(random.sample(string.ascii_letters + string.digits, 12))
print("生成密碼:", password)
通過掌握random
模塊的這些功能,你可以輕松實現各種隨機化需求,但需注意根據具體場景選擇合適的函數。
“`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。