random庫的介紹
random是python的一個隨機函數標準庫,主要用來產生隨機數,用處比較廣泛。
調用方法和其他標準庫類似,我就不多講了。
1.常用函數
1.random.random()函數,隨機生成[0.1)的浮點數
import random
print(random.random())
0.3562356990783053
2.random.uniform 原型爲:random.uniform(a, b),用於生成一個指定範圍內的隨機符點數,兩個參數其中一個是上限,一個是下限。如果a > b,則生成的隨機數n: a <= n <= b.
import random
print(random.uniform(10,20))
print(random.uniform(20,10))
17.668027929743914
17.22003961825177
3.random.randint:random.randint(a, b),用於生成一個指定範圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n: a <= n <= b(閉區間)
print(random.randint(12, 20)) #生成的隨機數n: 12 <= n <= 20
14
4.random.choice :random.choice(sequence)。參數sequence表示一個有序類型。這裏要說明 一下:sequence在python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬於sequence(字典和集合都是無序的)
import random
print(random.choice("Python沒那麼簡單") )
print(random.choice(['Jason', 'is', 'so', 'handsome']))
print(random.choice(('Tuple', 'List', 'Dict')))
P
handsome
Tuple
5.random.sample ,從指定序列中隨機獲取指定長度的片斷。(sample函數不會修改原有序列)
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
slice = random.sample(list, 5) #從list中隨機獲取5個元素,作爲一個片斷返回
print(slice)
print(list) #原有序列並沒有改變。
[9, 4, 6, 2, 3]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
6.random.shuffle 用於將一個列表中的元素打亂。
import random
L=[1,2,3,4,5,6,7]
random.shuffle(L)
print(L)
#運行結果[2, 5, 7, 6, 3, 1, 4]
2.實例
隨機生成驗證碼
import random
check_code = ''
for i in range(4):
cur = random.randrange(0,4) #隨機猜的範圍,與循環次數相等
#字母
if cur == i:
tmp = chr(random.randint(65,90)) #隨機取一個字母
#數字
else:
tmp = random.randint(0,9)
check_code += str(tmp)
print(check_code)