亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        編程里最有用的偷懶工具“函數(shù)”

        2019-09-10 00:31:08
        電腦報(bào) 2019年10期

        極客戰(zhàn)記地牢里的關(guān)卡主要是偏向鍛煉用戶的基本語(yǔ)法結(jié)構(gòu)和計(jì)算機(jī)思維,讓大家熟悉極客戰(zhàn)記的操作與代碼的使用。來(lái)到了森林,關(guān)卡將會(huì)變得更多更難,同樣,到了森林,大家就正式開(kāi)始接觸編程的幾大重要知識(shí)點(diǎn):條件判斷、運(yùn)算符、函數(shù)、對(duì)象屬性。

        一、邊地之牢

        這一關(guān)涉及的編程知識(shí)為:函數(shù)和 參數(shù),大家需要理解函數(shù)及其參數(shù)是什么東西,究竟需要如何使用,即可順利過(guò)關(guān)。

        進(jìn)入本關(guān),剛開(kāi)始如果你不太明白這一關(guān)需要英雄做什么,那么你可以直接點(diǎn)擊運(yùn)行按鈕,來(lái)觀察游戲過(guò)程,你需要找到兩個(gè)要點(diǎn):現(xiàn)有的代碼是在讓英雄干什么?游戲是為什么失敗的,那么我們應(yīng)該怎么做?

        這是在默認(rèn)代碼下的運(yùn)行情況,可以知道:默認(rèn)代碼的作用,就是讓英雄循環(huán)往返于上方的兩個(gè)點(diǎn),上方的敵人一出現(xiàn),就被英雄消滅了。但英雄沒(méi)有前往下方,導(dǎo)致下方的敵人擊殺了村民,游戲失敗。因此我們可以照著現(xiàn)有的代碼略作改動(dòng),增加一段攻擊下方敵人的代碼。因此,此時(shí)的通關(guān)思路為:理解現(xiàn)有代碼,對(duì)現(xiàn)有代碼略作改動(dòng),需要實(shí)現(xiàn)的功能是:巡邏保衛(wèi)下方村民安全。

        觀察代碼,在以往我們的代碼都是僅有一個(gè)代碼塊,一個(gè)While True無(wú)限循環(huán)代碼塊包括了所有的運(yùn)行代碼塊,而本關(guān),除了While True代碼塊以外,還多了一塊代碼,它就是def函數(shù)代碼塊。

        二、函數(shù)

        函數(shù)是我們?cè)谏弦魂P(guān)接觸到的知識(shí)點(diǎn),在Python里,我們使用關(guān)鍵字 def 來(lái)定義一個(gè)函數(shù):關(guān)鍵字def是英文單詞define的縮寫(xiě),具有定義、明確的意思,我們創(chuàng)建一個(gè)函數(shù),也叫定義一個(gè)函數(shù)。創(chuàng)建函數(shù)的格式如下:

        def 函數(shù)名,即函數(shù)里的代碼,也叫函數(shù)體??梢钥吹?,我們創(chuàng)建函數(shù)的時(shí)候,使用了冒號(hào),為函數(shù)創(chuàng)建了一個(gè)單獨(dú)的代碼塊。如果不記得代碼塊的概念了,可以點(diǎn)擊鏈接,回到地牢復(fù)習(xí)一下:極客戰(zhàn)記[地牢]:迷失在書(shū)庫(kù)-通關(guān)代碼及講解,調(diào)用函數(shù)的格式則是:函數(shù)名(),十分簡(jiǎn)單。

        函數(shù)的作用:如果你有一段非常方便的代碼,例如尋找敵人攻擊敵人,那你要在每個(gè)可能有敵人的地方,都寫(xiě)一遍這一段代碼,十分繁瑣。

        而函數(shù),就是一個(gè)偷懶的工具,我們可以把它想象成一個(gè)機(jī)器人,我們?cè)跈C(jī)器人的程序里(函數(shù)體內(nèi))寫(xiě)好代碼,當(dāng)我們需要使用這段代碼時(shí),呼叫機(jī)器人的名字(函數(shù)名加括號(hào)),就能叫出這機(jī)器人來(lái)幫忙,而不需要總是寫(xiě)一大串同樣的代碼了。

        也因此,函數(shù)內(nèi)的代碼,它在沒(méi)被調(diào)用時(shí),是不會(huì)執(zhí)行的。就像圖中的函數(shù)checkAndAttack,雖然它的代碼在最上面,但它的代碼不會(huì)被執(zhí)行,而是直接跳過(guò),當(dāng)后面有需要調(diào)用函數(shù)時(shí),才運(yùn)行這一段代碼。了解了函數(shù)以后,我們?cè)賮?lái)了解一下參數(shù)。

        三、參數(shù)

        我們剛剛說(shuō),函數(shù)就像一個(gè)機(jī)器人,代碼寫(xiě)在機(jī)器人的程序里,因此我們可以這么理解,函數(shù)和其他的代碼,它們是互不相關(guān)的,機(jī)器人的程序(函數(shù))和正常運(yùn)行的代碼,是兩個(gè)相互獨(dú)立的程序。

        因此,我們?cè)谡_\(yùn)行的代碼里寫(xiě)的一些變量,它們是不能直接使用到函數(shù)里的,因?yàn)樗鼈兪腔ゲ幌嚓P(guān)的兩個(gè)程序。而參數(shù),就是幫我們把外界變量傳入函數(shù)內(nèi)的工具。

        創(chuàng)建參數(shù)的方法:def 函數(shù)名(參數(shù)名),直接在函數(shù)名的括號(hào)內(nèi)寫(xiě)上你要?jiǎng)?chuàng)建的參數(shù)名即可,你還可以創(chuàng)建不止一個(gè)參數(shù):def 函數(shù)名(參數(shù)名1,參數(shù)名2,參數(shù)名3……):參數(shù)就是一個(gè)變量,它是專門(mén)用在函數(shù)里的,你可以提前寫(xiě)好它們各自要做的工作:

        def Test(t1,t2):

        hero.attack(t1)

        hero.say(t2)

        然后我們?cè)侔错樞?,在調(diào)用的時(shí)候把我們的變量傳入?yún)?shù)里:

        def Test(t1,t2):

        hero.attack(t1)

        hero.say(t2)

        enemy1 = hero.findNearest

        Enemy()

        word = "你好!"

        Test(enemy1,word)

        Test(enemy1,word),就是把enemy1作為t1,word作為t2傳入了Test函數(shù)里,這樣此時(shí)執(zhí)行Test函數(shù)的時(shí)候,英雄就是去攻擊enemy1,并說(shuō)“你好!”

        明白了這兩個(gè)知識(shí)點(diǎn)以后,我們?cè)倏吹疥P(guān)卡里的代碼:此時(shí)我們就知道,上方一個(gè)代碼塊,是系統(tǒng)已經(jīng)幫我們寫(xiě)好的攻擊敵人,并回到中心點(diǎn)的代碼塊,無(wú)需修改。那么我們以目前while True內(nèi)的代碼作為模板,寫(xiě)出攻擊底部敵人的代碼:移動(dòng)到下方X標(biāo)記處。

        到達(dá)下方后,尋找最近的敵人,使用checkAndAttack()函數(shù)攻擊下方新找到的敵人,通關(guān)代碼。

        男男啪啪激烈高潮cc漫画免费| 免费在线不卡黄色大片| 日韩精品在线一二三四区| 国产精品成人免费视频一区| 日韩人妻无码一区二区三区久久99| 99在线视频精品费观看视| 一区二区三区在线日本| 45岁妇女草逼视频播放| 无码人妻精品一区二区| 亚洲国产精品线路久久| 女优av福利在线观看| 日韩中文字幕在线观看一区| 亚洲av中文无码乱人伦在线播放 | 国产高潮精品久久AV无码| 成人短篇在线视频夫妻刺激自拍 | 欧美亚洲日本国产综合在线| 国产在线欧美日韩一区二区| 91羞射短视频在线观看| 性无码一区二区三区在线观看| 色综合中文综合网| 日韩欧美精品有码在线观看| 日韩精品极品系列在线免费视频| а√天堂资源官网在线资源| 国产精品密播放国产免费看| 肉丝高跟国产精品啪啪| av高清在线不卡直播| 亚洲精品久久中文字幕| 69av视频在线| 亚洲中文字幕高清av| 天天躁日日躁狠狠躁欧美老妇| 国产乱淫视频| 久久久精品久久久国产| 视频一区视频二区制服丝袜| aaaaaa级特色特黄的毛片| 青青草极品视频在线播放| 丝袜美腿高清在线观看| 午夜无码片在线观看影视 | 亚洲高清国产拍精品熟女| 亚洲视频在线一区二区| 欧美mv日韩mv国产网站| 亚洲乱色视频在线观看|