主要使用函數(shù)的遞歸方法,考慮過(guò)程如下:n,a,b,c(n代表羅漢塔塊數(shù),a,b,c代表三塊柱子)若n=1時(shí),只需從a》》》c若n>1時(shí),需要把上面n-1塊從a移動(dòng)到b,底下1塊從a移動(dòng)到c,再把b上n-1移動(dòng)到c函數(shù)實(shí)現(xiàn)如下:defmove(n,a,b,c):ifn==1:print(a,'>>>',c)else:move(n-1,a,c,b)move(1,a,b,c)move(n-1,b,a,c)print(move(3,'a','b','c'))
系統(tǒng) 2019-09-27 17:53:43 1774
enumerate函數(shù)用于遍歷序列中的元素以及它們的下標(biāo)。enumerate函數(shù)說(shuō)明:函數(shù)原型:enumerate(sequence,[start=0])功能:將可循環(huán)序列sequence以start開(kāi)始分別列出序列數(shù)據(jù)和數(shù)據(jù)下標(biāo)即對(duì)一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串),enumerate會(huì)將該數(shù)據(jù)對(duì)象組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo)。舉例說(shuō)明:存在一個(gè)sequence,對(duì)其使用enumerate將會(huì)得到如下結(jié)果:startsequenc
系統(tǒng) 2019-09-27 17:53:38 1774
在日常PC端的Python爬蟲(chóng)過(guò)程工作中,Chrome瀏覽器是我們常用的一款工具。鑒于Chrome瀏覽器的強(qiáng)大,Chrome網(wǎng)上應(yīng)用商店很多強(qiáng)大的插件可以幫助我們快速高效地進(jìn)行數(shù)據(jù)爬蟲(chóng)。今天推薦的6款Chrome插件,可以大大提升我們的爬蟲(chóng)效率。EditThisCookieEditThisCookie是一個(gè)Cookie管理器,可以很方便的添加,刪除,編輯,搜索,鎖定和屏蔽Cookies。可以將登錄后的Cookies先保存到本地,借助cookielib庫(kù),直
系統(tǒng) 2019-09-27 17:53:24 1774
列表推導(dǎo)與生成器表達(dá)式當(dāng)我們創(chuàng)建了一個(gè)列表的時(shí)候,就創(chuàng)建了一個(gè)可以迭代的對(duì)象:復(fù)制代碼代碼如下:>>>squares=[n*nforninrange(3)]>>>foriinsquares:printi014這種創(chuàng)建列表的操作很常見(jiàn),稱為列表推導(dǎo)。但是像列表這樣的迭代器,比如str、file等,雖然用起來(lái)很方便,但有一點(diǎn),它們是儲(chǔ)存在內(nèi)存中的,如果值很大,會(huì)很麻煩。而生成器表達(dá)式不同,它執(zhí)行的計(jì)算與列表包含相同,但會(huì)迭代的生成結(jié)果。它的語(yǔ)法與列表推導(dǎo)一樣,
系統(tǒng) 2019-09-27 17:53:14 1774
小編給大家?guī)?lái)了用python實(shí)現(xiàn)用戶多次密碼輸入錯(cuò)誤后,用戶鎖定的實(shí)現(xiàn)方式,以及具體的流程,讓大家更好的理解運(yùn)行的過(guò)程。1.新建一個(gè)文件,用以存放白名單用戶(正確注冊(cè)的用戶格式:username:password),再建一個(gè)文件,用以存放黑名單用戶(輸入三次用戶名均錯(cuò)誤的用戶)。2.讀取白名單文件,將內(nèi)容賦值給一個(gè)變量,并關(guān)閉。3.將變量以“:”分割,分割出得第一位(索引為0)賦值給username,第二位(索引為1)賦值給password。4.讀取黑名
系統(tǒng) 2019-09-27 17:53:10 1774
進(jìn)程是操作系統(tǒng)分配內(nèi)存的最小單位Python中進(jìn)程用到的庫(kù)multiprocessing簡(jiǎn)單的多進(jìn)程示例frommultiprocessingimportProcessfromtimeimporttime,sleepfromrandomimportrandintdefdownload_task(task_name):print(task_name+'開(kāi)始下載')time=randint(1,5)sleep(time)print(task_name+f'下載
系統(tǒng) 2019-09-27 17:53:03 1774
如下所示:#coding:utf-8importbinasciia='worker'#先把worker轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)然后在用十六進(jìn)制表示b=binascii.b2a_hex(a)printb#與b2a_hex相反printbinascii.a2b_hex(b)#這個(gè)功能和b2a_hex()一樣c=binascii.hexlify(a)printc#這個(gè)功能和a2b_hex()一樣printbinascii.unhexlify(c)######運(yùn)行結(jié)果##
系統(tǒng) 2019-09-27 17:52:56 1774
如下所示:#-*-coding:utf-8-*-importrequestsimportthreadingimporttimeclasspostrequests():def__init__(self):self.url='請(qǐng)求網(wǎng)址'self.files={'unknown_image':open('劉詩(shī)詩(shī).jpg','rb')}defpost(self):try:r=requests.post(self.url,files=self.files)print
系統(tǒng) 2019-09-27 17:52:33 1774
在Python2和Python3中都提供print()方法來(lái)打印信息,但兩個(gè)版本間的print稍微有差異主要體現(xiàn)在以下幾個(gè)方面:1.python3中print是一個(gè)內(nèi)置函數(shù),有多個(gè)參數(shù),而python2中print是一個(gè)語(yǔ)法結(jié)構(gòu);2.Python2打印時(shí)可以不加括號(hào):print'helloworld',Python3則需要加括號(hào)print("helloworld")3.Python2中,input要求輸入的字符串必須要加引號(hào),為了避免讀取非字符串類型發(fā)生的
系統(tǒng) 2019-09-27 17:52:30 1774
1、python裝飾器最基礎(chǔ)的函數(shù)1defsum1():2sum=1+23print(sum)4sum1()查看函數(shù)執(zhí)行用了多長(zhǎng)時(shí)間,寫(xiě)了幾句代碼插進(jìn)去了:1importtime23defsum1():4start=time.clock()5sum=1+26print(sum)7end=time.clock()8print("timeused:",end-start)910sum1()可是隨著繼續(xù)翻看,對(duì)越來(lái)越多的函數(shù)感興趣了,都想看下他們的運(yùn)行時(shí)間如何,
系統(tǒng) 2019-09-27 17:52:26 1774