文章目錄
- 一、`random` 庫常用函數
- 二、條件語句 + 隨機數
- 示例1:隨機決定程序分支
- 示例2:模擬概率事件
- 三、循環語句 + 隨機數
- 示例1:循環直到滿足隨機條件
- 示例2:隨機次數循環
- 四、隨機操作數據結構
- 示例1:隨機打亂列表順序
- 示例2:隨機選擇元素處理
- 五、綜合應用示例
- 示例1:猜數字游戲(隨機生成目標)🐱 😺
- 示例2:生成隨機驗證碼
- 六、結合異常處理
- 示例:隨機重試機制
- 總結
在 Python 中,結合
random
庫可以實現更靈活的程序流程控制,例如通過
生成隨機數、隨機選擇或隨機打亂數據來影響條件判斷、循環邏輯等。以下是詳細分類和應用示例:
一、random
庫常用函數
以下是 random
庫的常用函數,用于生成隨機數據:
函數 | 作用 |
---|---|
random.random() | 生成 [0.0, 1.0) 之間的隨機浮點數 |
random.randint(a, b) | 生成 [a, b] 之間的隨機整數 |
random.choice(seq) | 從序列中隨機選擇一個元素 |
random.shuffle(seq) | 隨機打亂序列(原地修改) |
random.uniform(a, b) | 生成 [a, b) 之間的隨機浮點數 |
random.sample(population, k) | 從序列中隨機選擇 k 個不重復元素 |
二、條件語句 + 隨機數
通過隨機數控制條件分支的邏輯。
示例1:隨機決定程序分支
import randomnum = random.randint(1, 3)
if num == 1:print("執行方案A")
elif num == 2:print("執行方案B")
else:print("執行方案C")
示例2:模擬概率事件
import random# 模擬60%概率成功的事件
if random.random() < 0.6:print("成功!")
else:print("失敗!")
三、循環語句 + 隨機數
利用隨機數控制循環的終止條件或循環內的行為。
示例1:循環直到滿足隨機條件
import randomcount = 0
while True:num = random.randint(1, 10)print(f"隨機數: {num}")count += 1if num == 5:break
print(f"循環了 {count} 次才找到5")
可能輸出:
隨機數: 3
隨機數: 1
隨機數: 5
循環了 3 次才找到5
示例2:隨機次數循環
import randommax_attempts = random.randint(3, 6) # 隨機生成3~6次嘗試
for i in range(max_attempts):print(f"第 {i+1} 次嘗試...")
可能輸出:
第 1 次嘗試...
第 2 次嘗試...
第 3 次嘗試...
四、隨機操作數據結構
結合 random
庫操作列表、字符串等數據結構。
示例1:隨機打亂列表順序
import randomitems = ["A", "B", "C", "D"]
random.shuffle(items)
print("打亂后的列表:", items) # 如 ['C', 'A', 'D', 'B']
示例2:隨機選擇元素處理
import randomfruits = ["蘋果", "香蕉", "橘子", "西瓜"]
selected = random.choice(fruits)
print("今天吃:", selected)
五、綜合應用示例
示例1:猜數字游戲(隨機生成目標)🐱 😺
import randomtarget = random.randint(1, 100)
attempts = 0while True:guess = int(input("猜一個1~100之間的數字: "))attempts += 1if guess < target:print("猜小了!")elif guess > target:print("猜大了!")else:print(f"恭喜!你用了 {attempts} 次猜中!")break
示例2:生成隨機驗證碼
import random
import stringdef generate_code(length=6):chars = string.digits + string.ascii_letters # 數字+字母code = ''.join(random.choice(chars) for _ in range(length))return codeprint("驗證碼:", generate_code()) # 如 '8hJ3qF'
生成隨機驗證碼-解析與優化
六、結合異常處理
處理隨機輸入或操作中的異常。
示例:隨機重試機制
import randomretries = 3
for i in range(retries):try:num = random.randint(0, 1)result = 10 / num # 可能觸發除以0錯誤print("結果:", result)breakexcept ZeroDivisionError:print(f"第 {i+1} 次嘗試失敗,重試中...")
else:print("所有嘗試均失敗!")
總結
- 條件分支:通過
random
庫生成隨機條件值(如randint()
,random()
)。 - 循環控制:利用隨機數控制循環次數或終止條件(如
while
+break
)。 - 數據操作:隨機選擇元素(
choice
)、打亂順序(shuffle
)或生成隨機樣本(sample
)。 - 實際應用:隨機驗證碼、游戲邏輯、模擬測試數據等。
掌握 random
庫與流程控制的結合,可以編寫更動態、靈活的程序邏輯呦!