如何在Python中產生隨機數(random模組)

了解如何在 Python 中產生隨機數。將 randrange、randint 和均勻浮點產生與播種控制進行比較。

在編輯器中嘗試此解決方案

概述

產生隨機數是遊戲程式設計、從資料集中選擇隨機項目、編寫密碼學應用程式和執行統計模擬的關鍵要求。 Python 提供了一個名為「random」的專用內建函式庫來處理偽隨機數產生。

如果您需要特定範圍內的隨機整數,「random.randint(a, b)」函數是最常用的工具,它會傳回一個包含兩個端點的隨機整數。或者,「random.random()」產生 0.0(含)和 1.0(不含)之間的浮點數,可以透過數學方式縮放以適應自訂邊界。

為了使模擬和測試可重複,您可以使用“random.seed()”函數。提供種子整數可保證每次程式碼執行時產生的數字序列都相同。對於需要高安全性的加密操作(如令牌產生),應避免使用標準偽隨機產生器,而使用「secrets」模組。

程式碼和執行輸出

這個腳本示範如何使用 random 模組產生隨機整數、浮點數以及選擇元素。

random_numbers.py
在編輯器中嘗試
import random

# Setting a seed for deterministic output in this example
random.seed(42)

# 1. Generate a random integer between 1 and 10 (inclusive)
random_int = random.randint(1, 10)
print("Random Integer (1-10):", random_int)

# 2. Generate a random float between 0.0 and 1.0
random_float = random.random()
print("Random Float (0-1):", round(random_float, 4))

# 3. Select a random element from a list
fruits = ["apple", "banana", "cherry"]
random_choice = random.choice(fruits)
print("Random Choice:", random_choice)
端子輸出
Random Integer (1-10): 2
Random Float (0-1): 0.025
Random Choice: banana

逐步實施

  • 在腳本開頭導入 random 模組。
  • 使用 random.randint(min, max) 產生一個隨機整數,其中兩個端點都包含在內。
  • 使用 random.random() 產生 0.0 到 1.0 之間的隨機浮點數。

常見問題解答

如何產生自訂範圍內的隨機浮點數?

使用 random.uniform(a, b) 取得 a 和 b 之間的隨機浮點數。

隨機模組對於加密使用是否安全?

不可以,隨機模組是偽隨機的,不應該用於安全敏感的目的。請改用 Secrets 模組。

相關主題

推薦的 Python 資源

透過相關的互動式教學、備忘單和程式碼比較來擴展您的知識。