老師講完random函數(shù),自己寫的,雖然和老師示例的不那么美觀,智能,但是也自己想出來的,所以記錄一下,代碼就需要自己不斷的自己練習(xí),實戰(zhàn),才能提高??!不然就像我們這些大部分靠自學(xué)的人,何時能學(xué)會。還有就是,這次聽老師的,把自己的代碼添加注釋,所以這次把很簡單的代碼都寫上了注釋,而且很大白話,不管有沒有接觸過python的,我相信仔細(xì)看了,肯定能看懂。如果看完,再自己嘗試著默寫出來,那就是更好到了,好了進(jìn)入正題:
自己寫的:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
__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里面的值隨機(jī)取出一個來賦給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é)果:
1
|
M9Y7sE |
自己的代碼,看著最別扭的就是,自己定義的那一堆code,顯得很笨重,下面看看老師給的示例(這個示例,是經(jīng)過我簡單加工后的,老師演示的里面只可以打印出大寫字母和數(shù)字的6位驗證碼):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
__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中的一個方法,隨機(jī)從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é)果:
1
|
vgW2u3 |
自己加過過后,感覺添加了一個elif,顯的還是有些笨重,希望以后可以研究出更清晰的代碼。
總結(jié)
以上就是本文關(guān)于Python實現(xiàn)一個簡單的驗證碼程序的全部內(nèi)容,希望對大家有所幫助。歡迎大家留言提出寶貴意見,共同交流進(jìn)步。感謝朋友們對本站的支持!
原文鏈接:http://www.cnblogs.com/zpzcy/p/7771855.html