python學習之-random(隨機模組)
阿新 • • 發佈:2018-12-05
import random
print(random.random()) #得到一個隨機的數,但是隨機的數的範圍是(0,1),這裡用小括號(開曲線)代表取不到0也取不到1,o-1之間只有小數,所以只能取到小數
print(random.randint(1, 3)) # 得到一個指定範圍隨機數[1,3], 大於等於1且小於等於3之間的整數
print(random.randrange(1, 3)) #range顧頭不顧尾,得到一個指定範圍的隨機數 [1,3) 大於等於1且小於3之間的整數
print(random.choice([1, '23', [4, 5]])) # choice選擇的意思,從指定範圍內的隨機取一個數,型別不限
print(random.sample([1, '23', [4, 5]], 2)) # 從指定範圍內任取兩個值進行組合
print(random.uniform(1, 3)) # 取範圍內的小數,如1.927109612082716
隨機打亂順序(洗牌功能)
item = [1, 3, 5, 7, 9]
random.shuffle(item) # 隨機打亂item的順序,相當於"洗牌"
print(item)
例:驗證碼隨機
def make_code(max_size=6): #指定驗證碼的最大長度
res = ''
for i in range(max_size): #這裡就可以指定驗證碼的最大長度
num = str(random.randint(0, 9)) #取隨機範圍的整數
alpha = chr(random.randint(65, 90)) #用randint功能將隨機範圍的數字傳給chr功能
res += random.choice([num, alpha]) #隨機選取一個數字或者字母
return res
chr()功能:傳一個數字給chr,就會根據ascII碼錶把數字轉成一個字母65對應大寫字母A,90對應大寫字母Z