本文實例講述了Python實現簡單生成驗證碼功能。分享給大家供大家參考,具體如下:
驗證碼一般用來驗證登陸、交易等行為,減少對端為機器操作的概率,python中可以使用random模塊,char()內置函數來實現一個簡單的驗證碼功能。
import randomdef 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了
PS:這里再提供幾款相關工具供大家參考使用:
在線隨機生成個人信息數據工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
在線隨機字符/隨機密碼生成工具:
http://tools.jb51.net/aideddesign/rnd_password
在線隨機數字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數學運算技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答