1. 程式人生 > >python學習之-random(隨機模組)

python學習之-random(隨機模組)

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