資源簡(jiǎn)介 (共25張PPT)函數(shù)的創(chuàng)建課前回顧1、python函數(shù)的定義函數(shù)是一段功能代碼,它能讓Python做某些特定事情。函數(shù)是代碼重用的一種重要的方式,即你可以在你的程序里多次使用函數(shù)。2、python的內(nèi)建函數(shù)abs()函數(shù)會(huì)返回?cái)?shù)字的絕對(duì)值bool()函數(shù)根據(jù)參數(shù)的值返回真或者假。float()函數(shù)把字符串或者數(shù)字轉(zhuǎn)換成浮點(diǎn)情境引入Python的內(nèi)建函數(shù)有很多很多,在上節(jié)課我們只介紹了一些常用的內(nèi)建函數(shù)。可是有時(shí)發(fā)現(xiàn)Python自帶的函數(shù)無(wú)法滿足我們的編程需求,這時(shí)我們?cè)撛趺崔k呢?難呀其實(shí)不難噠循序善誘一些優(yōu)秀的程序員會(huì)選擇自己在Python中建造函數(shù)。下面讓我們一起學(xué)習(xí)這些函數(shù)是如何創(chuàng)建出來(lái)的。毛爺爺說(shuō)的對(duì)循序善誘本節(jié)課我們將創(chuàng)建并調(diào)用自己的函數(shù)并用自建函數(shù)來(lái)幫助我們來(lái)解決問(wèn)題新知教授2、函數(shù)的調(diào)用1、函數(shù)的創(chuàng)建3、棋盤(pán)上的麥粒數(shù)4、課堂總結(jié)函數(shù)的創(chuàng)建新知教授一個(gè)函數(shù)有三個(gè)部分組成:函數(shù)名、參數(shù),函數(shù)體。函數(shù)名參數(shù)函數(shù)體思維構(gòu)建函數(shù)名顧名思義,就是函數(shù)的名字,我們創(chuàng)建一個(gè)函數(shù)就必須給它起個(gè)名字如果我是函數(shù),我的名字就叫吉碼,我的功能就是陪伴大家學(xué)習(xí)編程。思維構(gòu)建參數(shù)函數(shù)參數(shù)的作用是傳遞數(shù)據(jù)給函數(shù)使用。參數(shù)?變量?傻傻分不清思維構(gòu)建函數(shù)體函數(shù)體就是函數(shù)的主體,是定義一個(gè)函數(shù)功能的所有代碼組成的整體。函數(shù)體不是我的身體哦,而是指我能做什么,我的能力編玩邊學(xué)def speakName(myName):print('我的名字叫%s' % myName) def # define的縮寫(xiě),使用def開(kāi)始函數(shù)的定義speakName # 函數(shù)名myName # 參數(shù)print('我的名字叫%s' % myName) # 函數(shù)體函數(shù)名的命名規(guī)范和變量名命名一樣哦介紹自己名字的函數(shù)函數(shù)的調(diào)用思維構(gòu)建當(dāng)我們創(chuàng)建好一個(gè)屬于自己的函數(shù)后,我們?cè)撊绾握{(diào)用它呢?非常簡(jiǎn)單,函數(shù)名加一對(duì)小括號(hào)就可以了,例如我們調(diào)用剛剛創(chuàng)建的函數(shù):speakName()編玩邊學(xué)def speekName(myName):print('我的名字叫%s' % myName) speekName('JIMA') # 調(diào)用函數(shù),加入名字我們將函數(shù)定義外的代碼稱為主程序。程序是從主程序的第一行代碼開(kāi)始執(zhí)行的,當(dāng)我們?cè)谥鞒绦蛑姓{(diào)用函數(shù)時(shí),代碼會(huì)跳到函數(shù)定義里順序執(zhí)行里面的代碼這段代碼的輸出結(jié)果是:我的名字叫JIMA棋盤(pán)上的麥粒數(shù)新知教授古時(shí)候,印度有個(gè)國(guó)王很愛(ài)玩。一天,他對(duì)大臣們說(shuō),希望得到一種玩不膩的玩意兒,誰(shuí)能貢獻(xiàn)給他,將有重賞。 不久,有個(gè)聰明的大臣向他獻(xiàn)上一種棋子,棋盤(pán)上有64個(gè)格子,棋子上刻著“皇帝”、“皇后”、“車(chē)”、“馬”、“炮”等字。下這種棋子,是玩一種變化無(wú)窮的游戲,確實(shí)讓人百玩不厭。國(guó)王就對(duì)那個(gè)聰明的大臣說(shuō):“我要重賞你。說(shuō)吧,你要什么,我都能滿足你。” 那個(gè)大臣說(shuō):“我只要些麥粒。” “麥粒?哈,你要多少呢?” “國(guó)王陛下,你在第一格棋盤(pán)上放1粒,第二格上放2粒,第三格上放4粒,第四格上放8粒……照這樣放下去,把64格棋盤(pán)都放滿就行了。” 國(guó)王想:這能要多少呢?最多幾百斤吧。小意思,就對(duì)糧食大臣說(shuō):“你去拿幾麻袋的麥子賞給他吧。” 糧食大臣計(jì)算了一下,忽然大驚失色,忙向國(guó)王報(bào)告道:“照這樣的計(jì)算,把我們?nèi)珖?guó)所有的糧食全給他,還差得遠(yuǎn)呢!”思維構(gòu)建那糧食大臣算出了多少粒麥粒呢?總共是18446774073709551615顆麥粒1立方米麥粒大約有1500萬(wàn)粒,那么照這樣計(jì)算,得給那位大臣12000億立方米,這些麥子比全世界2000年生產(chǎn)的麥子的總和還多國(guó)王的賬單比天高思維構(gòu)建那糧食大臣是怎么算出來(lái)的呢?第一格棋盤(pán)上放1粒,第二格上放2粒,第三格上放4粒,第四格上放8粒,第五格上放16粒,可以看出,每個(gè)格子里所放的麥粒數(shù)都是前一個(gè)格子所放的麥粒數(shù)的2倍的規(guī)律。 如果計(jì)算棋盤(pán)上的麥粒總數(shù),除了棋盤(pán)上每一個(gè)格子上的麥粒數(shù)都計(jì)算出來(lái)之外,還要把他們64個(gè)格子的麥粒數(shù)相加。糧食大臣真厲害,我的計(jì)算器都快算不過(guò)來(lái)啦編玩邊學(xué)def wheatCalculation(latticeSum): # 函數(shù)名 wheatCalculation 計(jì)算麥粒數(shù)wheatNum = 0 # 麥子總數(shù) wheatNumfor latticeNum in range(0, latticeSum): # 棋盤(pán)格子數(shù) latticeSumwheatNum = wheatNum + 2**latticeNum # 麥粒數(shù)計(jì)算公式print('格子數(shù)為%s的棋盤(pán),上面麥粒的總數(shù)為:%s' % (latticeSum, wheatNum))wheatCalculation(64) # 調(diào)用函數(shù)那我們可以通過(guò)編程來(lái)解決這個(gè)算麥粒數(shù)的問(wèn)題嗎?當(dāng)然可以,我們來(lái)定義一個(gè)計(jì)算麥粒數(shù)的函數(shù)。編玩邊學(xué)如果我們不創(chuàng)建函數(shù)呢?wheatNum = 0for latticeNum in range(0, latticeSum):wheatNum = wheatNum + 2**latticeNumprint('格子數(shù)為%s的棋盤(pán),上面麥粒的總數(shù)為:%s' % (latticeSum, wheatNum))和剛才比起來(lái)代碼還少了點(diǎn)啊那你下次計(jì)算還要再寫(xiě)一遍這么多代碼呀,創(chuàng)建函數(shù),下次計(jì)算只需調(diào)用即可,簡(jiǎn)單多了實(shí)踐創(chuàng)作同學(xué)們,函數(shù)的創(chuàng)建讓我們可以重復(fù)使用代碼功能,大大簡(jiǎn)化了我們的代碼。想一想,看看自建函數(shù)還能怎么用?課堂總結(jié)一個(gè)函數(shù)有三個(gè)部分組成:函數(shù)名、參數(shù),函數(shù)體。格式:def 函數(shù)名(參數(shù)):函數(shù)體調(diào)用函數(shù):函數(shù)名()棋盤(pán)上的麥粒數(shù)計(jì)算公式:wheatNum = wheatNum + 2**latticeNum分享交流同學(xué)們今天寫(xiě)代碼有沒(méi)有遇到什么問(wèn)題?演示今天打印的代碼同學(xué)們,要加油哦!下節(jié)課見(jiàn)啦 展開(kāi)更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)