Python實現(xiàn)簡單生成驗證碼功能【基于random模塊】
本文實例講述了Python實現(xiàn)簡單生成驗證碼功能。分享給大家供大家參考,具體如下:
驗證碼一般用來驗證登陸、交易等行為,減少對端為機(jī)器操作的概率,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) #隨機(jī)生成0-4之間的數(shù)字 if r == 1 or r == 4: #如果隨機(jī)數(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列表中對應(yīng)的字母 li.append(char) r_code = ''.join(li) #6個字符拼接為字符串 # print('\033[31;1m%s\033[0m' % r_code) return r_code #返回字符串 #測試 print(veri_code())#運(yùn)行結(jié)果:BKT8RL
基本原理是使用random,隨機(jī)生成數(shù)字:
1.要幾個字符就循環(huán)幾次
2.隨機(jī)生成一個數(shù)字,定義如果這個數(shù)字為其中某值X時,再隨機(jī)一個0-9中間的數(shù)字。為什么0-9呢,因為10的話就占了兩個字符了........
3.循環(huán)時,隨機(jī)數(shù)字如果不為X時,生成一個65-90之間的數(shù)字,然后使用char()
函數(shù)轉(zhuǎn)化為ascii列表中對應(yīng)的字母,當(dāng)然就是大寫的A-Z啦
4.將生成的字符加入列表,最后將列表拼接成字符串就O了
PS:這里再提供幾款相關(guān)工具供大家參考使用:
在線隨機(jī)生成個人信息數(shù)據(jù)工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
在線隨機(jī)字符/隨機(jī)密碼生成工具:
http://tools.jb51.net/aideddesign/rnd_password
在線隨機(jī)數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
樹莓派上利用python+opencv+dlib實現(xiàn)嘴唇檢測的實現(xiàn)
本文主要介紹了樹莓派上利用python+opencv+dlib實現(xiàn)嘴唇檢測的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10利用python中pymysql操作MySQL數(shù)據(jù)庫的新手指南
PyMySQL是在Python3.x版本中用于連接MySQL服務(wù)器的一個庫,Python2中是使用mysqldb,這篇文章主要給大家介紹了關(guān)于利用python中pymysql操作MySQL數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2021-09-09Python實現(xiàn)提取指定名稱的文件并批量復(fù)制到其他文件夾
本文介紹基于Python語言,讀取一個文件夾,并將其中每一個子文件夾內(nèi)符合名稱要求的文件加以篩選,并將篩選得到的文件復(fù)制到另一個目標(biāo)文件夾中的方法,需要的朋友可以參考下2023-10-10解決springboot yml配置 logging.level 報錯問題
今天小編就為大家分享一篇解決springboot yml配置 logging.level 報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02pandas實戰(zhàn):分析三國志人物示例實現(xiàn)
這篇文章主要介紹了pandas實戰(zhàn):分析三國志人物示例實現(xiàn),本文章內(nèi)容詳細(xì),具有很好的參考價值,希望對大家有所幫助,需要的朋友可以參考下2023-01-01PyQt5 PySide2 觸摸測試功能的實現(xiàn)代碼
這篇文章主要介紹了PyQt5 PySide2 觸摸測試功能的實現(xiàn),本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04PyTorch中torch.manual_seed()的用法實例詳解
在Pytorch中可以通過相關(guān)隨機(jī)數(shù)來生成張量,并且可以指定生成隨機(jī)數(shù)的分布函數(shù)等,下面這篇文章主要給大家介紹了關(guān)于PyTorch中torch.manual_seed()用法的相關(guān)資料,需要的朋友可以參考下2022-06-06python實現(xiàn)Android與windows局域網(wǎng)文件夾同步
這篇文章主要給大家詳細(xì)介紹了python實現(xiàn)Android與windows局域網(wǎng)文件夾同步,文中有詳細(xì)的代碼示例和圖文介紹,具有一定的參考價值,需要的朋友可以參考下2023-09-09