Python程序開發(fā)基礎(chǔ) 課件 任務(wù)1 隨機(jī)生成驗(yàn)證碼_第1頁(yè)
Python程序開發(fā)基礎(chǔ) 課件 任務(wù)1 隨機(jī)生成驗(yàn)證碼_第2頁(yè)
Python程序開發(fā)基礎(chǔ) 課件 任務(wù)1 隨機(jī)生成驗(yàn)證碼_第3頁(yè)
Python程序開發(fā)基礎(chǔ) 課件 任務(wù)1 隨機(jī)生成驗(yàn)證碼_第4頁(yè)
Python程序開發(fā)基礎(chǔ) 課件 任務(wù)1 隨機(jī)生成驗(yàn)證碼_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

random庫(kù)——隨機(jī)生成驗(yàn)證碼任務(wù)描述

很多網(wǎng)站的注冊(cè)登錄業(yè)務(wù)都加入了驗(yàn)證碼技術(shù),以區(qū)分用戶是人還是計(jì)算機(jī),有效地防止刷票、論壇灌水、惡意注冊(cè)等行為。目前驗(yàn)證碼的種類層出不窮,其生成方式也越來(lái)越復(fù)雜,常見的驗(yàn)證碼是由大寫字母、小寫字母、數(shù)字組成的6位驗(yàn)證碼。

本任務(wù)要求編寫程序,實(shí)現(xiàn)隨機(jī)生成6位驗(yàn)證碼的功能。

01庫(kù)與模塊、包的關(guān)系02庫(kù)的導(dǎo)入04任務(wù)實(shí)現(xiàn)random內(nèi)置庫(kù)03庫(kù)與模塊、包的關(guān)系01

庫(kù)與模塊、包的關(guān)系

Python中模塊有內(nèi)置模塊、第三方模塊和自定義模塊三種類型。

模塊、包和庫(kù)是Python組織代碼的三種方式。其中,模塊是最基礎(chǔ)的代碼組織方式,Python中的每個(gè)擴(kuò)展名為py的文件都是一個(gè)模塊,文件名就是模塊名。包以類似目錄的結(jié)構(gòu)組織模塊文件或子包,簡(jiǎn)單來(lái)說(shuō),一個(gè)包含__init__.py文件的目錄就是一個(gè)包。包中必有__init__.py文件,可以有多個(gè)模塊或子包。庫(kù)是一個(gè)抽象概念,它是指具有相關(guān)功能的模塊的集合。

庫(kù)與模塊、包的關(guān)系

內(nèi)置模塊是指Python安裝時(shí)自帶的模塊,可直接導(dǎo)入程序供開發(fā)人員使用,譬如random模塊就屬于內(nèi)置模塊。

第三方模塊指由第三方制作發(fā)布的、供給大家使用的Python模塊,在使用前需要開發(fā)人員自行安裝。

而自定義模塊是指開發(fā)人員在編寫程序的過(guò)程中自行編寫的、存放功能性代碼的.py文件。庫(kù)的導(dǎo)入02

庫(kù)的導(dǎo)入在使用庫(kù)中定義的內(nèi)容之前,需先將庫(kù)導(dǎo)入到當(dāng)前程序。Python使用import關(guān)鍵字導(dǎo)入庫(kù),其語(yǔ)法格式如下:庫(kù)導(dǎo)入后,可通過(guò)點(diǎn)字符“.”調(diào)用庫(kù)中的內(nèi)容,其語(yǔ)法格式如下:庫(kù).函數(shù)庫(kù).變量import庫(kù)1,庫(kù)2,…

庫(kù)與模塊、包的關(guān)系通過(guò)點(diǎn)字符調(diào)用庫(kù)中的內(nèi)容可避免多個(gè)庫(kù)中存在同名函數(shù)時(shí)代碼產(chǎn)生歧義,但若不存在同名函數(shù),可使用from…import…語(yǔ)句直接將庫(kù)的指定內(nèi)容導(dǎo)入程序,并在程序中直接使用庫(kù)中的內(nèi)容。frompygameimportinitinit()

庫(kù)與模塊、包的關(guān)系使用from…import…語(yǔ)句也可將指定庫(kù)的全部?jī)?nèi)容導(dǎo)入當(dāng)前程序,此時(shí)可使用“*”指代庫(kù)中的全部?jī)?nèi)容。雖然from…import*可以方便地導(dǎo)入一個(gè)庫(kù)中的所有內(nèi)容,但考慮到代碼的可維護(hù)性,此種方式不應(yīng)被過(guò)多地使用。frompygameimport*random內(nèi)置模塊03random庫(kù)是Python的內(nèi)置庫(kù),導(dǎo)入該庫(kù)后,可利用庫(kù)中的函數(shù)生成隨機(jī)數(shù)據(jù),其常用函數(shù)如表所示。

random內(nèi)置模塊random庫(kù)中常用函數(shù)函數(shù)說(shuō)明random()返回(0,1]之間的隨機(jī)小數(shù)。randint(x,y)返回[x,y]之間的整數(shù)。choice(seq)從序列seq中隨機(jī)返回一個(gè)元素。由表可知,random()可生成(0,1]之間的隨機(jī)小數(shù);randint(x,y)可生成[x,y]之間的隨機(jī)整數(shù);choice(seq)可從序列seq中隨機(jī)返回一個(gè)元素。有關(guān)random庫(kù)的應(yīng)用,有一個(gè)經(jīng)典的案例,就是隨機(jī)生成旅游信息。

random內(nèi)置模塊

想要出去旅游,但時(shí)間還沒(méi)有確定,需要在10號(hào)~19號(hào)之間挑選一個(gè)日期作為出游時(shí)間,同時(shí)在北京、云南、浙江、海南、四川中挑選一個(gè)出游的地方。

實(shí)例本實(shí)例擬采用random庫(kù)的來(lái)完成,其代碼如下:importrandomprint("旅游的時(shí)間為:",end='')print(random.randint(10,19),"號(hào)",sep='')place=['北京','云南','浙江','海南','四川']print("出游的地方是:",end='')print(random.choice(place))任務(wù)實(shí)現(xiàn)——隨機(jī)生成驗(yàn)證碼04

隨機(jī)生成驗(yàn)證碼

根據(jù)題意,6位驗(yàn)證碼是由6個(gè)字符組成,每個(gè)字符都是隨機(jī)字符,要實(shí)現(xiàn)隨機(jī)字符的功能需要用到隨機(jī)數(shù)random庫(kù)。具體思路是先導(dǎo)入random模塊;然后創(chuàng)建一個(gè)空字符串code_list用來(lái)存放生成的驗(yàn)證碼;最后生成6個(gè)隨機(jī)字符逐個(gè)拼接到code_list后面。這最后一步是生成驗(yàn)證碼的核心。為確保每次生成的字符類型只能為大寫字母、小寫字母、數(shù)字的任意一種,我們使用1、2、3分別代表生成大寫字母、生成小寫字母、生成數(shù)字。同時(shí),為確保每次生成的是所選類型中的字符,需要按類型給隨機(jī)數(shù)函數(shù)指定范圍,數(shù)字對(duì)應(yīng)的范圍為0~9,大寫字母對(duì)應(yīng)的范圍為65~90,小寫字母對(duì)應(yīng)范圍為97~122。

判斷是否是閏年#隨機(jī)生成驗(yàn)證碼importrandomdefverify_code():code_list=''foriinrange(6):#控制驗(yàn)證碼生成的位數(shù)state=random.randint(1,3)ifstate==1:first_kind=random.randint(65,90)#大寫字母random_uppercase=chr(first_kind)code_list=code_list+random_uppercaseelifstate==2:second_kinds=random.randint(97,122)#小寫字母random_lowercase=chr(second_kinds)code_list=code_list+random_lowercaseelifstate==3:third_kinds=random.randint(0,9)#阿拉伯?dāng)?shù)字code_list=code_list+str(third_kinds)returncode_listif__name__=='__main__':verifycode=verify_code()print(verifycode)

代碼如下:任務(wù)總結(jié)模塊、包和庫(kù)是Python組織代碼的三種方式。其中,模塊是最基礎(chǔ)的代碼組織方式,Python中的每個(gè)擴(kuò)展名為py的文件都是一個(gè)模塊,文件名就是模塊名。包以類似目錄的結(jié)構(gòu)組織模塊文件或子包,簡(jiǎn)單來(lái)說(shuō),一個(gè)包含__init__.py文件的目錄就是一個(gè)包。包中必有__init__.p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論