python的random模塊用於生成隨機數,下面介紹一下random模塊的經常使用方法:python
取隨機小數: 數學計算 random.random() 用於生成一個0-1的隨機浮點數 0<=n<1.0 random.uniform(a,b) 生成一個指定範圍內的隨機浮點數, a<=n<=b
取隨機整數: 彩票 抽獎 random.randint(a,b) 取一個指定範圍內的整數 a<=n<=b random.randrange(start,stop,step) 在指定範圍內,按基數遞增的集合內取一個隨機數,如random.randrange(10,100,2),結果至關於從[10,12,14,...98]序列中獲取一個隨機數。
從一個序列中隨機取值: 抽獎
random.choice() 從序列中隨機選擇一個返回個數爲
random.sample() 從序列中隨機選擇多個返回,返回的個數爲函數的第二個參數
亂序:
random.shuffle() 打亂一個列表的順序,在原列表的基礎上直接進行修改,節省空間
驗證碼的生成: 6位數字驗證碼: s = '' for i in range(6): num = random.randint(0,9) s += str(num) print(s) 函數版本的: def code(n=6): s = '' for i in range(n): num = random.randint(0,9) s += str(num) return s print(code(4)) print(code()) 6位數字+字母驗證碼: def code(n = 6): s = '' for i in range(n): # 生成隨機的大寫字母,小寫字母,數字各一個 num = str(random.randint(0,9)) alpha_upper = chr(random.randint(65,90)) alpha_lower = chr(random.randint(97,122)) res = random.choice([num,alpha_upper,alpha_lower]) s += res return s print(code(4)) print(code()) 進階: def code(n = 6,alpha = True): s = '' for i in range(n): num = str(random.randint(0,9)) if alpha: alpha_upper = chr(random.randint(65,90)) alpha_lower = chr(random.randint(97,122)) num = random.choice([num,alpha_upper,alpha_lower]) s += num return s print(code(4,False)) print(code(alpha=False))