Python實(shí)現(xiàn)簡單生成驗(yàn)證碼功能【基于random模塊】
本文實(shí)例講述了Python實(shí)現(xiàn)簡單生成驗(yàn)證碼功能。分享給大家供大家參考,具體如下:
驗(yàn)證碼一般用來驗(yàn)證登陸、交易等行為,減少對端為機(jī)器操作的概率,python中可以使用random模塊,char()內(nèi)置函數(shù)來實(shí)現(xiàn)一個簡單的驗(yà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呢,因?yàn)?0的話就占了兩個字符了........
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機(jī)器學(xué)習(xí)NLP自然語言處理基本操作電影影評分析
本文是Python機(jī)器學(xué)習(xí)NLP自然語言處理系列文章,帶大家開啟一段學(xué)習(xí)自然語言處理 (NLP) 的旅程。本篇文章主要學(xué)習(xí)NLP自然語言處理基本操電影影評分析2021-09-09
Python判斷一個三位數(shù)是否為水仙花數(shù)的示例
今天小編就為大家分享一篇Python判斷一個三位數(shù)是否為水仙花數(shù)的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
PyG搭建GCN模型實(shí)現(xiàn)節(jié)點(diǎn)分類GCNConv參數(shù)詳解
這篇文章主要為大家介紹了PyG搭建GCN模型實(shí)現(xiàn)節(jié)點(diǎn)分類GCNConv參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
python實(shí)現(xiàn)數(shù)獨(dú)游戲 java簡單實(shí)現(xiàn)數(shù)獨(dú)游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)數(shù)獨(dú)游戲和java實(shí)現(xiàn)數(shù)獨(dú)游戲的相關(guān)代碼,比較兩種語言實(shí)現(xiàn)數(shù)獨(dú)游戲的區(qū)別2018-03-03

