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