隨機數在計算機應用中十分常見,python 內建的random庫主要用於產生各種分布的偽隨機數序列。random庫採用梅森旋轉演算法(mersennetwister)生成偽隨機數序列,可用於除隨機性要求更高的加解密演算法外的大多數工程應用。
使用random庫的主要目的是生成隨機數,因此,讀者只需要查閱該庫中隨機數生成函式,找到符合使用場景的函式即可。該庫提供了不同型別的隨機數函式,所有函式都是基於最基本的random.random()
函式擴充套件實現。
拓展:偽隨機數和真隨機數
隨機數或隨機事件都是不確定性的產物,其結果是不可**、產生之前不可預見。無論計算機產生的隨機數看起來多麼「隨機」,它們也不是真正意義上的隨機數。因為計算機是按照一定演算法產生隨機數的,其結果是確定的、可預見的,稱為「偽隨機數」。真正意義上的隨機數不能評價。如果存在評價隨機數的方法,即判斷乙個數是否是隨機數,那麼這個隨機數就有確定性,將不再是隨機數。
random庫常用函式(共9個)函式
描述seed(a=none)
初始化隨機數種子,預設值為當前系統時間
random()
生成乙個[0.0,0.1)之間的隨機小數
randint(a,b)
生成乙個[a,b]之間的整數
getrandbist(k)
生成乙個k位元長度的隨機整數
randrange(start, stop[,step])
生成乙個[start,stop)之間以step為步數的隨機整數
uniform(a,b)
生成乙個[a,b]之間的隨機小數
choice(a,b)
從序列型別,例如列表中隨機返回乙個元素
shuffle(seq)
將序列型別中的元素隨機排列,返回打亂後的序列
sample(pop,k)
從pop型別中隨機選取k個元素,以列表型別返回
random庫的引用方法(兩種):import random
或from random import *
>>> from random import*
>>> random()
0.11440141018134065
>>> uniform(1,100)
55.35658845886782
>>> uniform(7,25)
21.66656672928412
>>> randrange(0,100,7)
14>>> randint(1,10)
3>>> choice(range(50))
0>>> choice(range(50))
3>>> ls = list(range(8))
>>> print(ls)
[0, 1, 2, 3, 4, 5, 6, 7]
>>> shuffle(ls)
>>> print(ls)
[5, 4, 6, 2, 1, 7, 0, 3]
>>>
以上內容來自教材《python語言程式設計基礎》(第2版)p111 Python random庫 隨機數函式庫使用
中國大學mooc python語言程式設計 第4周 程式的控制結構 4.4 模組3 random庫的使用 import random seed a none 初始化給定的隨機數種子,預設為當前系統時間 print random.seed 10 產生種子10對應的序列 random 生成乙個 0.0,...
Python random庫的使用
1 random庫是使用隨機數的python標準庫 1 偽隨機數 採用梅森旋轉演算法生成的 偽 隨機序列中元素 random庫主要用於生成隨機數 使用random庫 import random 2 random庫包括兩類函式,常用共8個 基本隨機數函式 seed random 擴充套件隨機數函式 r...
Python random庫的用法
random庫是python中乙個標準庫,其主要作用就是隨機。例如我們常見的隨機生成乙個1到100之前的整數,就可以用到random.randint 1,100 常見的用法有以下幾種 隨機生成a b之間的整數 random.randint a,b 隨機生成a b之間的浮點數 random.unifo...