Python實現(xiàn)簡單生成驗證碼功能【基于random模塊】
本文實例講述了Python實現(xiàn)簡單生成驗證碼功能。分享給大家供大家參考,具體如下:
驗證碼一般用來驗證登陸、交易等行為,減少對端為機器操作的概率,python中可以使用random模塊,char()內(nèi)置函數(shù)來實現(xiàn)一個簡單的驗證碼功能。
import random
def veri_code():
li = []
for i in range(6): #循環(huán)6次,生成6個字符
r = random.randrange(0, 5) #隨機生成0-4之間的數(shù)字
if r == 1 or r == 4: #如果隨機數(shù)字是1或者4時,生成0-9的數(shù)字
num = random.randrange(0, 9)
li.append(str(num))
else: #如果不是1或者4時,生成65-90之間的數(shù)字
temp = random.randrange(65, 91)
char = chr(temp) #將數(shù)字轉(zhuǎn)化為ascii列表中對應的字母
li.append(char)
r_code = ''.join(li) #6個字符拼接為字符串
# print('\033[31;1m%s\033[0m' % r_code)
return r_code #返回字符串
#測試
print(veri_code())#運行結(jié)果:BKT8RL
基本原理是使用random,隨機生成數(shù)字:
1.要幾個字符就循環(huán)幾次
2.隨機生成一個數(shù)字,定義如果這個數(shù)字為其中某值X時,再隨機一個0-9中間的數(shù)字。為什么0-9呢,因為10的話就占了兩個字符了........
3.循環(huán)時,隨機數(shù)字如果不為X時,生成一個65-90之間的數(shù)字,然后使用char()函數(shù)轉(zhuǎn)化為ascii列表中對應的字母,當然就是大寫的A-Z啦
4.將生成的字符加入列表,最后將列表拼接成字符串就O了
PS:這里再提供幾款相關(guān)工具供大家參考使用:
在線隨機生成個人信息數(shù)據(jù)工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
在線隨機字符/隨機密碼生成工具:
http://tools.jb51.net/aideddesign/rnd_password
在線隨機數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學運算技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python判斷一個三位數(shù)是否為水仙花數(shù)的示例
今天小編就為大家分享一篇Python判斷一個三位數(shù)是否為水仙花數(shù)的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
PyG搭建GCN模型實現(xiàn)節(jié)點分類GCNConv參數(shù)詳解
這篇文章主要為大家介紹了PyG搭建GCN模型實現(xiàn)節(jié)點分類GCNConv參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
python實現(xiàn)數(shù)獨游戲 java簡單實現(xiàn)數(shù)獨游戲
這篇文章主要為大家詳細介紹了python實現(xiàn)數(shù)獨游戲和java實現(xiàn)數(shù)獨游戲的相關(guān)代碼,比較兩種語言實現(xiàn)數(shù)獨游戲的區(qū)別2018-03-03

