Python實現(xiàn)一個簡單的驗證碼程序
老師講完random函數(shù),自己寫的,雖然和老師示例的不那么美觀,智能,但是也自己想出來的,所以記錄一下,代碼就需要自己不斷的自己練習(xí),實戰(zhàn),才能提高??!不然就像我們這些大部分靠自學(xué)的人,何時能學(xué)會。還有就是,這次聽老師的,把自己的代碼添加注釋,所以這次把很簡單的代碼都寫上了注釋,而且很大白話,不管有沒有接觸過python的,我相信仔細(xì)看了,肯定能看懂。如果看完,再自己嘗試著默寫出來,那就是更好到了,好了進(jìn)入正題:
自己寫的:
__Author__ = "Zhang Peng" import random #導(dǎo)入random模塊 code='abcdefdhigkmlnopqrstuvwxyzABCDEFDHIGKMLNOPQRSTUVWXYZ0123456789' #定義一個驗證碼的庫,賦給變量code checkcode='' #定義一個空字符串,賦給checkcode count=0 #需要對循環(huán)進(jìn)行計數(shù),初始值設(shè)為0 while count<6: #添加一個while循環(huán),當(dāng)count小于6的時候就會一直循環(huán) i=random.choice(code) #choice是random里面的一個方法,就是把code里面的值隨機取出一個來賦給i checkcode+=i #把checkcode+i重新賦值給checkcode,每循環(huán)一次checkcode長度都會增加一位 count+=1 #把count+1賦值給count,每循環(huán)一次,count都會加1 else: #else是while循環(huán)的一個用法,就是當(dāng)count不小于6的時候做什么事 pass #我這里寫的是,當(dāng)count不小于6就跳過這個循環(huán) print(checkcode) #最后打印一下checkcode,這里的checkcode每運行一次都會是不同的值
結(jié)果:
M9Y7sE
自己的代碼,看著最別扭的就是,自己定義的那一堆code,顯得很笨重,下面看看老師給的示例(這個示例,是經(jīng)過我簡單加工后的,老師演示的里面只可以打印出大寫字母和數(shù)字的6位驗證碼):
__Author__ = "Zhang Peng" import random #導(dǎo)入random模塊 checkcode='' #定義一個空字符串,賦給checkcode for i in range(6): #這里一個for循環(huán),是讓i在range(6)中循環(huán),每次循環(huán)取出 # 來的值,賦給i;這里range(6)=(0,1,2,3,4,5) current=random.randrange(0,6) #randrange是random中的一個方法,隨機從range(0,6)中取一個數(shù)出來,賦值給current if current<2: #這里用了一個if語句,如果current小于2,做什么事 checkcode+=chr(random.randint(65,90)) #如果current等于i,randint也是random中的一個方法,chr是python中的內(nèi)置函數(shù) #意思是把數(shù)字轉(zhuǎn)換成ascll碼表對應(yīng)的字符,65到90正好對應(yīng)ascll碼中的大寫A到大寫Z #這句函數(shù)意思是chr取出一個字母加上checkcode,重新賦值給checkcode elif current >= 2 and current < 4 : #elif,如果current大于等于2,且小于4做什么。 checkcode += chr(random.randint(97, 122)) # 其他類似于上一條,其中97到122正好對應(yīng)ascll碼中的小寫a到小寫z else: #if的用法,如果current不符合上面條件,做什么事 checkcode+=str(random.randint(0,9)) #str也是python的內(nèi)置函數(shù),就是把什么轉(zhuǎn)換為字符串,這里是把0到9的任意一個整數(shù) #取出來,加上checkcode,重新賦值給checkcode print(checkcode) #最后打印一下checkcode
運行結(jié)果:
vgW2u3
自己加過過后,感覺添加了一個elif,顯的還是有些笨重,希望以后可以研究出更清晰的代碼。
總結(jié)
以上就是本文關(guān)于Python實現(xiàn)一個簡單的驗證碼程序的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Python編程django實現(xiàn)同一個ip十分鐘內(nèi)只能注冊一次、簡單了解Python中的幾種函數(shù)、Python算法輸出1-9數(shù)組形成的結(jié)果為100的所有運算式等,歡迎大家留言提出寶貴意見,共同交流進(jìn)步。感謝朋友們對本站的支持!
相關(guān)文章
16中Python機器學(xué)習(xí)類別特征處理方法總結(jié)
類別型特征(categorical?feature)主要是指職業(yè),血型等在有限類別內(nèi)取值的特征。在這篇文章中,小編將給大家分享一下16種類別特征處理方法,需要的可以參考一下2022-09-09如何實現(xiàn)一個python函數(shù)裝飾器(Decorator)
這篇文章主要介紹了如何實現(xiàn)一個python函數(shù)裝飾器(Decorator),幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-10-10Python實現(xiàn)Singleton模式的方式詳解
這篇文章主要介紹了Python實現(xiàn)Singleton模式的方式詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08利用python實現(xiàn)xml與數(shù)據(jù)庫讀取轉(zhuǎn)換的方法
這篇文章主要給大家介紹了關(guān)于利用python實現(xiàn)xml與數(shù)據(jù)庫讀取轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06python之Django自動化資產(chǎn)掃描的實現(xiàn)
這篇文章主要介紹了python之Django自動化資產(chǎn)掃描的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04