版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2.4
可以復(fù)用的代碼第二單元
編程計算學(xué)習(xí)目標(biāo)理解“自頂向下、逐步細(xì)化”的編程思想;學(xué)會將復(fù)雜問題分解為可管理的子問題;掌握用函數(shù)模塊化實(shí)現(xiàn)各子功能;提高程序設(shè)計的邏輯性與可維護(hù)性;通過具體案例實(shí)踐Python編程中的問題分解與實(shí)現(xiàn)。情景引入簡易計算器的實(shí)現(xiàn)print("簡易計算器")print("1.加法(+)")print("2.減法(-)")print("3.乘法(*)")print("4.除法(/)")
num1=float(input("請輸入第一個數(shù):"))num2=float(input("請輸入第二個數(shù):"))op=input("請輸入操作符(+,-,*,/):")ifop=='+':num=num1+num2elifop=='-':num=num1-num2elifop=='*':num=num1*num2elifop=='/':ifnum2!=0:num=num1/num2else:print("錯誤:除數(shù)不能為零")else:print("無效操作符")print(num)思考:是否可以將大問題拆成小任務(wù)?每個小任務(wù)是否更容易實(shí)現(xiàn)?“自頂向下、逐步細(xì)化”任務(wù)一
用自定義函數(shù)實(shí)現(xiàn)簡易計算器1.什么是“自頂向下、逐步細(xì)化”?自頂向下:從整體出發(fā),先設(shè)計高層結(jié)構(gòu),再逐步深入細(xì)節(jié);逐步細(xì)化:將每個模塊不斷分解,直到每一步都可具體實(shí)現(xiàn)。2.編程中的體現(xiàn):主程序→功能模塊→函數(shù)→具體語句3.一般步驟明確問題需求;分解為若干子問題;設(shè)計函數(shù)接口(名稱、參數(shù)、返回值);逐步實(shí)現(xiàn)每個函數(shù);組合調(diào)用,完成整體功能。函
數(shù)函數(shù)的定義格式def
函數(shù)名(參
數(shù)
):
語句或語句組
return
返回值def:用于聲明創(chuàng)建一個函數(shù)return:用于返回函數(shù)的值,可以不寫或發(fā)回空值(return0)參數(shù):是外部數(shù)據(jù)進(jìn)入函數(shù)內(nèi)部的入口,可以為空(viod)函數(shù)的封裝print("簡易計算器")print("1.加法(+)")print("2.減法(-)")print("3.乘法(*)")print("4.除法(/)")函數(shù)的封裝是指將一段實(shí)現(xiàn)特定功能的代碼邏輯組織成一個獨(dú)立的函數(shù)單元,對外只提供簡單的調(diào)用接口,隱藏內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。defshow_menu():print("簡易計算器")print("1.加法(+)")print("2.減法(-)")print("3.乘法(*)")print("4.除法(/)")show_menu()①函數(shù)的封裝defget_input():num1=float(input("請輸入第一個數(shù):"))num2=float(input("請輸入第二個數(shù):"))op=input("請輸入操作符(+,-,*,/):")returnnum1,num2,op②num1=float(input("請輸入第一個數(shù):"))num2=float(input("請輸入第二個數(shù):"))op=input("請輸入操作符(+,-,*,/):")請封裝下列程序:函數(shù)的封裝defcalculate(num1,num2,op):ifop=='+':returnnum1+num2elifop=='-':returnnum1-num2elifop=='*':returnnum1*num2elifop=='/':ifnum2!=0:returnnum1/num2else:return"錯誤:除數(shù)不能為零"else:return"無效操作符"③ifop=='+':num=num1+num2elifop=='-':num=num1-num2elifop=='*':num=num1*num2elifop=='/':ifnum2!=0:num=num1/num2else:print("錯誤:除數(shù)不能為零")else:print("無效操作符")請封裝下列程序:主函數(shù)主函數(shù)是程序的“大腦”,負(fù)責(zé):●
接收輸入●
調(diào)用其他功能函數(shù)●
控制程序執(zhí)行順序●
輸出結(jié)果它體現(xiàn)了“自頂向下、逐步細(xì)化”的設(shè)計思想——把大問題分解為小函數(shù),再由main()統(tǒng)一調(diào)度。defmain():show_menu()num1,num2,op=get_input()result=calculate(num1,num2,op)print("結(jié)果:",result)④任務(wù)二
實(shí)現(xiàn)簡易計算器的代碼共享發(fā)布代碼的準(zhǔn)備在D:\創(chuàng)建一個文件夾mymodule,其中包含mymodule.py和setup.py兩個文件。mymodule.py是一個模塊文件,其內(nèi)容就是簡易計算器的封裝代碼。setup.py文件包含有關(guān)發(fā)布的元數(shù)據(jù),代碼如書上所示。發(fā)布代碼導(dǎo)入模塊并使用在D:\創(chuàng)建一個test.py文件。在文件中引入庫(importmymodule)調(diào)用庫中的函數(shù)(mymodule.function_name)當(dāng)堂總結(jié)當(dāng)堂練習(xí)1.在編程中,復(fù)用代碼的主要好處是(
)A.增加代碼量
B.提高程序執(zhí)行速度C.減少代碼冗余
D.增加程序復(fù)雜性【答案】C2.下列哪個選項(xiàng)是Python中定義函數(shù)的基本結(jié)構(gòu)?(
)A.functionmy_function:B.defmy_function():C.my_function=function()D.create_functionmy_function【答案】B3.以下哪個選項(xiàng)是Python中實(shí)現(xiàn)代碼復(fù)用的錯誤方式?(
)A.使用函數(shù)B.復(fù)制粘貼代碼C.使用類D.使用模塊【答案】B4.在編程中,封裝的概念主要用于(
)A.隱藏實(shí)現(xiàn)細(xì)節(jié)B.顯示所有細(xì)節(jié)C.增加代碼的可讀性D.減少代碼的執(zhí)行效率【答案】A5.以下哪個Python代碼片段正確地展示了如何使用默認(rèn)參數(shù)?(
)A.deffunc(a,b=5):returna+bB.deffunc(a,b):returna+bC.deffunc(a=5,b):returna+bD.deffunc(b,a):returna+b【答案】A拓
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 硫回收裝置操作工安全技能測試水平考核試卷含答案
- 印花輥筒激光雕刻工創(chuàng)新實(shí)踐評優(yōu)考核試卷含答案
- 信息通信網(wǎng)絡(luò)測量員達(dá)標(biāo)能力考核試卷含答案
- 陶瓷滾壓成型工崗前安全宣傳考核試卷含答案
- 稀土化工操作工安全知識能力考核試卷含答案
- 邊坡工保密評優(yōu)考核試卷含答案
- 環(huán)氧丙烷裝置操作工安全風(fēng)險競賽考核試卷含答案
- 農(nóng)機(jī)技術(shù)員改進(jìn)強(qiáng)化考核試卷含答案
- 信息通信網(wǎng)絡(luò)施工員標(biāo)準(zhǔn)化評優(yōu)考核試卷含答案
- 偏(均)三甲苯裝置操作工崗前技術(shù)傳承考核試卷含答案
- 執(zhí)行異議申請書標(biāo)準(zhǔn)范本
- 建筑方案初步設(shè)計匯報
- 2025年陜西機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫及參考答案詳解培
- 2025年希望杯IHC-二年級真題(含答案)
- 2025年及未來5年中國三元材料行業(yè)發(fā)展趨勢預(yù)測及投資戰(zhàn)略咨詢報告
- 《汽車機(jī)械基礎(chǔ)》期末考試復(fù)習(xí)題庫(含答案)
- 裝飾材料與施工教案
- 煤礦起吊應(yīng)急預(yù)案
- 不孕癥和輔助生殖技術(shù)專業(yè)版
- 醫(yī)院退藥流程及管理規(guī)范手冊
- 出院病人隨訪課件
評論
0/150
提交評論