1. 程式人生 > >利用random模組生成驗證碼

利用random模組生成驗證碼

random模組

該模組用於數學或者資料相關的領域,使用方法非常簡單下面介紹常用的放法
1、隨機小數 random.random()
2、隨機整數random.randint(1,5) # 大於等於1且小於等於5之間的整數,random.randrange(1,10,2) # 大於等於1且小於10之間的奇數
3、隨機選擇一個返回random.choice([1,'23',[4,5]]) # #1或者23或者[4,5]
4、隨機選擇多個返回,返回的個數為函式的第二個引數random.sample([1,'23',[4,5]],2) # #列表元素任意2個組合
5、打亂列表順序random.shuffle(item) # 打亂次序

>>> import random
#隨機小數
>>> random.random()      # 大於0且小於1之間的小數
0.7664338663654585
>>> random.uniform(1,3) #大於1小於3的小數
1.6270147180533838
#恆富:發紅包

#隨機整數
>>> random.randint(1,5)  # 大於等於1且小於等於5之間的整數
>>> random.randrange(1,10,2) # 大於等於1且小於10之間的奇數


#隨機選擇一個返回
>>> random.choice([1,'23',[4,5]])  # #1或者23或者[4,5]
#隨機選擇多個返回,返回的個數為函式的第二個引數
>>> random.sample([1,'23',[4,5]],2) # #列表元素任意2個組合
[[4, 5], '23']


#打亂列表順序
>>> item=[1,3,5,7,9]
>>> random.shuffle(item) # 打亂次序
>>> item
[5, 1, 3, 7, 9]
>>> random.shuffle(item)
>>> item
[5, 9, 7, 1, 3]

練習:生成隨機驗證碼

def id_code(n):
    #設定初始驗證碼
    date=''
    #迴圈生成驗證碼次數確定驗證碼長度
    for i in range(n):
        #隨機小寫字母
        lower=chr(random.randint(65,91))
        #隨機大寫字母
        upper=chr(random.randint(97,123))
        #隨機0-9
        num=random.randint(0,10)
        #每次迴圈放在列表中然後隨機選一個,實現數字字母混合
        lis = [lower,upper,num]
        str1 = str(random.choice(lis))
        date+=str1
    return date
print(id_code(6))

執行結果: