本文實例講述了Python實現簡單生成驗證碼功能。分享給大家供大家參考,具體如下:
驗證碼一般用來驗證登陸、交易等行為,減少對端為機器操作的概率,python中可以使用random模塊,char()
內置函數來實現一個簡單的驗證碼功能。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import random def veri_code(): li = [] for i in range ( 6 ): #循環6次,生成6個字符 r = random.randrange( 0 , 5 ) #隨機生成0-4之間的數字 if r = = 1 or r = = 4 : #如果隨機數字是1或者4時,生成0-9的數字 num = random.randrange( 0 , 9 ) li.append( str (num)) else : #如果不是1或者4時,生成65-90之間的數字 temp = random.randrange( 65 , 91 ) char = chr (temp) #將數字轉化為ascii列表中對應的字母 li.append(char) r_code = ''.join(li) #6個字符拼接為字符串 # print('\033[31;1m%s\033[0m' % r_code) return r_code #返回字符串 #測試 print (veri_code()) #運行結果:BKT8RL |
基本原理是使用random,隨機生成數字:
1.要幾個字符就循環幾次
2.隨機生成一個數字,定義如果這個數字為其中某值X時,再隨機一個0-9中間的數字。為什么0-9呢,因為10的話就占了兩個字符了........
3.循環時,隨機數字如果不為X時,生成一個65-90之間的數字,然后使用char()
函數轉化為ascii列表中對應的字母,當然就是大寫的A-Z啦
4.將生成的字符加入列表,最后將列表拼接成字符串就O了
希望本文所述對大家Python程序設計有所幫助。
原文鏈接:http://www.cnblogs.com/ccorz/p/5548720.html