




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1計算機(jī)編程導(dǎo)論計算機(jī)編程導(dǎo)論 課程建設(shè)組課程建設(shè)組 編著編著2014.2014.10102第第6 6章章函數(shù)的設(shè)計和使用設(shè)計和使用1.問題的引入問題的引入2. 函數(shù)基礎(chǔ)知識函數(shù)基礎(chǔ)知識36.1 問題的引入【問題【問題6-1】計算三個圓的面積和周長,這三個圓的半徑分別為2,3,4。分析:分析:按照已學(xué)過的知識,解決該問題的程序如下:#Ques6_1.pya=2area_a=3.14*a*aperimeter_a=3.14*2*aprint 半徑為2的圓的面積為:, area_aprint 半徑為2的圓的周長為:, perimeter_ab=3area_b=3.14*b*bperimeter_b
2、=3.14*2*bprint 半徑為3的圓的面積為:, area_bprint 半徑為3的圓的周長為:, perimeter_b4c=4area_c=3.14*c*cperimeter_c=3.14*2*cprint 半徑為4的圓的面積為:,area_cprint 半徑為4的圓的周長為:, perimeter_c程序運行結(jié)果:半徑為2的圓的面積為: 12.56半徑為2的圓的周長為: 12.56半徑為3的圓的面積為: 28.26半徑為3的圓的周長為: 18.84半徑為4的圓的面積為: 50.24半徑為4的圓的周長為: 25.125 這三段基本相同的代碼是否能夠只寫一次呢? 對于這樣的問題,我們可
3、以使用函函數(shù)數(shù)來解決,使計算圓面積和周長的這段代碼得以重用。66.2 黑箱模型 黑箱模型指所建立的模型只考慮輸入與輸出,而與過程機(jī)理無關(guān)。76.3 函數(shù)基礎(chǔ)知識6.3.1 函數(shù)的定義函數(shù)定義格式如下:def 函數(shù)名(參數(shù)):(函數(shù)體)函數(shù)定義格式如下:def 函數(shù)名(參數(shù)):(函數(shù)體)函數(shù)定義格式如下:def 函數(shù)名(參數(shù)):(函數(shù)體)8【例6-1】 定義一個輸出函數(shù),打印出Hello World!。 開始調(diào)用函數(shù)sayHello()結(jié)束框圖:框圖: 程序:程序:#Exp6_1.pydef sayHello( ): #函數(shù)定義print Hello World! #函數(shù)體#主程序sayHell
4、o( ) #函數(shù)調(diào)用程序運行結(jié)果:程序運行結(jié)果:Hello World!你能區(qū)分主程序和函數(shù)嗎?96.3.2 形參和實參 在定義函數(shù)時,函數(shù)名后面括號中的變量稱為形參形參 在調(diào)用函數(shù)時,可以通過參數(shù)將一些值傳遞給函數(shù)處理,這些在調(diào)用函數(shù)時提供給函數(shù)的值稱為實參實參?!纠纠?-2】用函數(shù)調(diào)用的方法來解決6.1節(jié)中的問題,如圖6-4所示。程序:# Exp6_2.pydef circle(r):area=3.14*r*rperimeter=2*3.14*rprint 半徑為,r,的圓面積為:, areaprint 半徑為,r,的圓周長為:, perimeter#主程序circle(2) #函數(shù)調(diào)用
5、circle(3) #函數(shù)調(diào)用circle(4) #函數(shù)調(diào)用10參數(shù)傳遞示意圖大路小路11【例【例6-3】 編寫函數(shù),實現(xiàn)比較兩個數(shù)的大小,并輸出其中較大的數(shù),并調(diào)用函數(shù)。程序:程序: #Exp6_3.pydef printMax(a, b):if ab: pirnt a, is the maxelse: print b, is the max#主程序 printMax(3, 4) #傳遞兩個實數(shù)實參x=5y=7printMax(x, y) #傳遞兩個變量實參請回答問題:printMax(x+x, y) 將輸出什么? 程序運行結(jié)果:程序運行結(jié)果:4 is the max7 is the max
6、126.3.3 return語句return語句用來從一個函數(shù)中返回,即跳出函數(shù),也可用return語句從函數(shù)中返回一個值。【例6-4】 用return語句返回值。# Exp6_4.pydef maximum( x, y ):if xy:return xelse:return y#主程序print maximum( 2, 3 )程序運行結(jié)果:3a=maximum(2,3)print a136.4 變量的作用域變量的作用域當(dāng)引入函數(shù)的概念之后,就出現(xiàn)了變量作用域的問題。變量起作用的范圍稱為變量的作用域。一個變量在函數(shù)外部定義和在函數(shù)內(nèi)部定義,其作用域是不同的。如果我們用特殊的關(guān)鍵字定義一個變量,
7、也會改變其作用域。146.4.1 局部變量在函數(shù)內(nèi)定義的變量只在該函數(shù)內(nèi)起作用,稱為局部變量。程序運行結(jié)果:x is 50changed local x to 2x is still 50【例6-5】 使用局部變量。#Exp6_5.pydef func( x ): print x is, x x=2 print changed local x to, x#主程序x=50func( x )print x is still, x注意:本例有三個不同的注意:本例有三個不同的x,函數(shù)外定義的,函數(shù)外定義的x、形參、形參x、函數(shù)內(nèi)定、函數(shù)內(nèi)定義的義的x ,在內(nèi)存中是三個不同的單元。,在內(nèi)存中是三個不同的
8、單元。156.4.2 全局變量 首先,在函數(shù)外定義的變量是全局變量,在其下方調(diào)用的函數(shù)中都能獲得其值。但在函數(shù)中對其賦值不會改變?nèi)肿兞康闹刀a(chǎn)生一個局部變量,如例6-5所示。 如果想要在函數(shù)內(nèi)部給一個定義在函數(shù)外的變量賦值,那么需要在函數(shù)內(nèi)部用global來說明。global也能在函數(shù)內(nèi)部定義出全局變量。下面是global的用法:(1)一個變量已在函數(shù)外定義,如果在函數(shù)內(nèi)需要為這個變量賦值,并要將這個賦值結(jié)果反映到函數(shù)外,可以在函數(shù)內(nèi)用global聲明這個變量,將其定義為全局變量。(2)在函數(shù)內(nèi)部直接將一個變量聲明為全局變量,在函數(shù)外沒有聲明,在調(diào)用這個函數(shù)之后,將增加為新的全局變量。16【
9、例6-6】 在函數(shù)內(nèi)使用外部定義的全局變量。# Exp6_6.pydef func( ): global x print x is, x x=2 print changed local x to, x#主程序x=50func( )print value of x is, x程序運行結(jié)果:x is 50changed local x to 2value of x is 217【例6-7】 把函數(shù)內(nèi)定義的變量聲明為全局變量。# Exp6_7.pydef func( ): global x x=2 print x=, x#主程序func( )print x=, x程序運行結(jié)果:x=2x=2思考: 主
10、程序中的兩行代碼調(diào)順序是否可行?186.5 參數(shù)的類型6.5.1 默認(rèn)參數(shù)def 函數(shù)名(形參名=默認(rèn)值,)【例6-8】 使用默認(rèn)參數(shù)值。程序:# Exp6_8.pydef say( message, times =1 ):print message * times#主程序say( Hello )say( World, 5 )程序運行結(jié)果:HelloWorldWorldWorldWorldWorld196.5 參數(shù)的類型6.5.2 關(guān)鍵參數(shù) 指實參【例6-9】 使用關(guān)鍵參數(shù)。# Exp6_9.pydef func( a, b=5, c=10 ): print a is, a, and b is, b, and c is, c#主程序func( 3, 7 )func( 25, c=24 )func( c=50, a=100 )程序運行結(jié)果:a is 3 and b is 7 and c is 10a is 25 and b is 5 and c is 24a is 100 and b is 5 and c is 5020練習(xí)練習(xí)1:寫一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大連民族大學(xué)《機(jī)械工程專題講座》2023-2024學(xué)年第二學(xué)期期末試卷
- 許昌職業(yè)技術(shù)學(xué)院《美國文學(xué)史及作品選讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 福州墨爾本理工職業(yè)學(xué)院《PA財務(wù)機(jī)器人開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南醫(yī)學(xué)高等??茖W(xué)校《設(shè)計與開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 第14課 新年賀卡-綜合制作 教學(xué)設(shè)計 -2023--2024學(xué)年清華大學(xué)版(2012)初中信息技術(shù)八年級上冊
- 貴州文化旅游職業(yè)學(xué)院《建筑空間設(shè)計研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇科技大學(xué)《室內(nèi)綜合實踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州華商職業(yè)學(xué)院《環(huán)境工程設(shè)備》2023-2024學(xué)年第二學(xué)期期末試卷
- 洛陽商業(yè)職業(yè)學(xué)院《建筑工程估價課程設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 電影包場合同范本
- 人教版八年級下冊生物全冊教案完整版教學(xué)設(shè)計含教學(xué)反思
- 無人機(jī)警用方向應(yīng)用簡介課件
- 變電站一次系統(tǒng)圖
- 《思想道德修養(yǎng)與法律基礎(chǔ)》說課(獲獎版)課件
- 幼兒園中班居家安全教案
- 網(wǎng)頁設(shè)計和制作說課稿市公開課金獎市賽課一等獎?wù)n件
- 《新媒體營銷》新媒體營銷與運營
- 食用油營銷整合規(guī)劃(含文字方案)
- 蘇教版科學(xué)五年級下15《升旗的方法》教案
- 現(xiàn)代工業(yè)發(fā)酵調(diào)控緒論
- 超高性能混凝土項目立項申請(參考模板)
評論
0/150
提交評論