一、使用random庫生成隨機數
Python中自帶Random庫,可以利用其中的randint函數來生成隨機數。如下所示:
import random
random.seed(10) # 設置隨機數種子為10
print(random.randint(1, 10)) # 生成1到10之間的整數
其中,seed函數用於設置隨機種子,可以保證在相同的種子下生成的隨機數是一樣的,這在某些實驗環境下是必要的。然後利用randint函數來生成1到10之間的隨機整數。
當然,Random庫還提供了其他一些常用的隨機生成函數,如:
import random
random.seed(10)
print(random.random()) # 生成0到1之間的隨機小數
print(random.uniform(1, 10)) # 生成1到10之間的隨機小數
print(random.choice(['apple', 'banana', 'orange'])) # 在列表中隨機選擇一個元素
二、使用numpy庫生成隨機數組
在科學計算領域,numpy庫也是非常常用的一個庫。其提供了更加高效靈活的隨機數生成功能。
首先,需要導入numpy庫。然後可以利用numpy.random模塊中的一些函數來生成隨機數或隨機數組。
以下是兩個例子:
import numpy as np
np.random.seed(10) # 設置隨機數種子為10
print(np.random.randint(1, 10, size=(3, 3))) # 生成一個3行3列的矩陣,元素在1到10之間
import numpy as np
np.random.seed(10)
print(np.random.normal(0, 1, size=(3, 3))) # 生成一個3行3列的矩陣,元素服從均值為0,方差為1的正態分佈
三、使用Python內置hash函數生成隨機數
在一些特殊場景中,也可以使用Python內置的hash函數來生成偽隨機數。
如下所示:
import hashlib
seed = 'seed'
hash_object = hashlib.md5(seed.encode('utf-8'))
random_number = int(hash_object.hexdigest(), 16) % 100 # 生成0到100之間的隨機整數
print(random_number)
這裡使用md5函數將種子字符串轉換為哈希值,並映射到0到100之間的整數。需要注意,這種方法雖然可以生成偽隨機數,但是安全性不高,不能用於需要高安全性的場合。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/311507.html