版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《Python程序設(shè)計實踐教程》課程教案課題:選擇結(jié)構(gòu)程序設(shè)計教學(xué)目的:掌握單分支選擇結(jié)構(gòu)的基本語法與應(yīng)用:通過`if`語句的學(xué)習(xí),幫助學(xué)生理解如何根據(jù)條件判斷執(zhí)行特定代碼塊,掌握簡單的條件控制邏輯。理解雙分支選擇結(jié)構(gòu)的實現(xiàn)方法:通過`if-else`語句的講解,使學(xué)生能夠在兩種可能情況下選擇執(zhí)行不同的代碼邏輯,提升程序的靈活性與實用性。掌握多分支選擇結(jié)構(gòu)的語法與應(yīng)用場景:通過`if-elif-else`語句的學(xué)習(xí),幫助學(xué)生處理多種條件判斷的情況,能夠根據(jù)復(fù)雜條件選擇執(zhí)行相應(yīng)的代碼塊。學(xué)會使用`if`語句的嵌套實現(xiàn)復(fù)雜邏輯:通過嵌套`if`語句的實踐,學(xué)生能夠處理更復(fù)雜的條件判斷問題,提升程序設(shè)計的邏輯性與層次感。培養(yǎng)條件控制與邏輯設(shè)計的能力:通過選擇結(jié)構(gòu)的學(xué)習(xí)與實踐,學(xué)生能夠根據(jù)實際需求設(shè)計合理的條件控制邏輯,提升程序的可讀性與效率。為后續(xù)復(fù)雜程序開發(fā)奠定基礎(chǔ):通過本章的學(xué)習(xí),學(xué)生能夠掌握選擇結(jié)構(gòu)的核心語法與應(yīng)用方法,為后續(xù)學(xué)習(xí)循環(huán)結(jié)構(gòu)、函數(shù)設(shè)計及復(fù)雜算法實現(xiàn)提供支持。課型:新授課課時:本章安排2個課時。教學(xué)重點:重點:1.掌握條件語句中邏輯表達(dá)式的正確書寫規(guī)則。2.掌握單分支、雙分支、多分支選擇結(jié)構(gòu)的使用方法。3.用選擇結(jié)構(gòu)解決相關(guān)問題。教學(xué)難點:難點:本章教學(xué)難點在于如何合理設(shè)計多層嵌套的條件判斷邏輯,并確保程序在不同條件下能夠正確執(zhí)行相應(yīng)的代碼塊。教學(xué)過程:教學(xué)形式:講授課,教學(xué)組織采用課堂整體講授和分組演示。教學(xué)媒體:采用啟發(fā)式教學(xué)、案例教學(xué)等教學(xué)方法。教學(xué)手段采用多媒體課件、視頻等媒體技術(shù)。板書設(shè)計:本課標(biāo)題選擇結(jié)構(gòu)程序設(shè)計課次0.5授課方式理論課□討論課□習(xí)題課□其他□課時安排2學(xué)分共2分授課對象普通高等院校學(xué)生任課教師教材及參考資料1.《Python程序設(shè)計實踐教程》。2.本教材配套視頻教程及學(xué)習(xí)檢查等資源。3.與本課程相關(guān)的其他資源。教學(xué)基本內(nèi)容教學(xué)方法及教學(xué)手段課程引入在程序設(shè)計中,選擇結(jié)構(gòu)是實現(xiàn)邏輯判斷與條件控制的核心工具,它使程序能夠根據(jù)不同的條件執(zhí)行不同的操作,從而具備更強(qiáng)的靈活性與實用性。無論是簡單的單分支判斷,還是復(fù)雜的多條件嵌套,選擇結(jié)構(gòu)都為我們提供了強(qiáng)大的邏輯表達(dá)能力。本章將帶領(lǐng)大家深入學(xué)習(xí)Python中的選擇結(jié)構(gòu)程序設(shè)計,包括單分支(`if`)、雙分支(`if-else`)和多分支(`if-elif-else`)結(jié)構(gòu)的使用方法,以及如何通過嵌套`if`語句實現(xiàn)更復(fù)雜的邏輯判斷。通過豐富的實例與實驗,你將掌握如何根據(jù)實際需求設(shè)計合理的條件控制邏輯,提升程序的效率與可讀性。讓我們一起探索選擇結(jié)構(gòu)的奧秘,學(xué)會用代碼實現(xiàn)智能化的決策與判斷!參考以下形式:1.銜接導(dǎo)入2.懸念導(dǎo)入3.情景導(dǎo)入4.激疑導(dǎo)入5.演示導(dǎo)入6.實例導(dǎo)入7.其他形式實驗5選擇結(jié)構(gòu)程序設(shè)計一、實驗?zāi)康?.掌握條件語句中邏輯表達(dá)式的正確書寫規(guī)則。2.掌握單分支、雙分支、多分支選擇結(jié)構(gòu)的使用方法。3.用選擇結(jié)構(gòu)解決相關(guān)問題。二、知識要點選擇結(jié)構(gòu)是一種常用的基本結(jié)構(gòu),其特點是根據(jù)給定的條件選擇一種操作,常見的選擇結(jié)構(gòu)有以下幾種。1.單分支選擇結(jié)構(gòu)if?表達(dá)式:語句塊2.雙分支選擇結(jié)構(gòu)if?表達(dá)式:語句塊?1else:語句塊?23.多分支選擇結(jié)構(gòu)if?表達(dá)式?1:語句塊?1elif表達(dá)式?2:語句塊?2……else:語句塊?n4.if?語句的嵌套if?表達(dá)式?1:if?表達(dá)式?2:語句塊?1else:語句塊?2else:if?表達(dá)式?2:語句塊?3else:語句塊?4對以上代碼的說明如下。①在?if?語句中,表達(dá)式表示判斷條件,一般包含關(guān)系運(yùn)算符、成員運(yùn)算符、邏輯運(yùn)算符。②Python?最具特色的功能就是通過縮進(jìn)表示語句塊的層次,而不需要使用大括號??s進(jìn)的字符數(shù)是可變的,但同一個語句塊的語句必須保持相同的縮進(jìn)字符數(shù),縮進(jìn)不一致會導(dǎo)致邏輯錯誤。③在?Python?中,條件表達(dá)式中不允許使用賦值運(yùn)算符“=”。三、實例解析【實例?5-1】評定優(yōu)秀學(xué)生某校優(yōu)秀學(xué)生的評定標(biāo)準(zhǔn)為:政治(c1)、語文(c2)、數(shù)學(xué)(c3)三科的平均成績大于?90?分,且每科成績均不低于?85?分,編寫程序進(jìn)行判斷并輸出判斷結(jié)果。(1)問題分析根據(jù)學(xué)生成績判斷該學(xué)生是否符合優(yōu)秀學(xué)生的評定標(biāo)準(zhǔn),判斷結(jié)果只有“是”或“不是”,采用?if?語句的雙分支選擇結(jié)構(gòu)來表達(dá)即可。(2)程序代碼#sl5-1.pyc1=int(input("請輸入政治成績:"))c2=int(input("請輸入語文成績:"))c3=int(input("請輸入數(shù)學(xué)成績:"))if(c1+c2+c3)/3>90andc1>=85andc2>=85andc3>=85:print("符合優(yōu)秀學(xué)生條件")else:print("不符合條件")(3)輸出結(jié)果請輸入政治成績:92請輸入語文成績:95請輸入數(shù)學(xué)成績:88符合優(yōu)秀學(xué)生條件(4)思考與討論請注意邏輯判斷與(and)和或(or)的區(qū)別。編譯器在求解邏輯表達(dá)式的值時,采用“非完全求解”的方法。①表達(dá)式?aandbandc?的求解過程。只有?a?為真時,才判別?b?的值;只有?a?和?b?均為真時,才判別?c?的值。只要?a?為假,就不再判別?b?和?c?的值,直接求得表達(dá)式的值為假。求解過程如圖?5-1?所示。②表達(dá)式?aorborc?的求解過程。只要?a?為真,就不再判別?b?和?c?的值,直接求得表達(dá)式的值為真;只有?a?為假時,才判別?b?的值;只有?a?和?b?均為假時,才判別?c?的值。求解過程如圖?5-2?所示。圖?5-1表達(dá)式?aandbandc?的求解過程圖?5-2表達(dá)式?aorborc?的求解過程【實例?5-2】計算階梯電費(fèi)為了提倡居民節(jié)約用電,某省電力公司執(zhí)行“階梯電價”,將用戶每月的用電量劃分為三個階梯。第一階梯:每月用電量為?210?度及以下,電價為每度?0.5469?元;第二階梯:每月用電量為?210~400?度,在第一階梯電價的基礎(chǔ)上,超出的部分每度加價?0.05?元;第三階梯:每月用電量為?400?度以上,在第一階梯電價的基礎(chǔ)上,210~400?度的部分每度加價0.05元,超出400度的部分每度加價?0.3元。請編寫程序計算電費(fèi)。(1)輸入格式輸入某用戶的月用電量。(2)輸出格式在一行中輸出該用戶應(yīng)支付的電費(fèi),結(jié)果保留兩位小數(shù),格式為“cost=應(yīng)付電費(fèi)值”。(3)輸入樣例100(4)輸出樣例cost=54.69(5)問題分析(6)程序代碼#sl5-2.pya=eval(input())ifa<=210:print("cost={0:.2f}".format(a*0.5469))elifa<=400:print("cost={0:.2f}".format(a*0.5469+(a-210)*0.05))else:print("cost={0:.2f}".format(a*0.5469+(400-210)*0.05+(a-400)*0.3))(7)思考與討論①實際的電費(fèi)計費(fèi)規(guī)則更復(fù)雜,請查詢當(dāng)?shù)氐碾娰M(fèi)計費(fèi)規(guī)則,設(shè)計程序計算電費(fèi)。②x?在區(qū)間[a,b]內(nèi)可用以下代碼表示。a<=x<=b或a<=xandx<=b【實例?5-3】計算優(yōu)惠率某物流公司的優(yōu)惠規(guī)則如下。在銷售旺季(7?月~9?月),如果預(yù)定?20?個及以上集裝箱,優(yōu)惠?10%;預(yù)定?20?個以下集裝箱,優(yōu)惠?5%。在銷售淡季(1?月~6?月和?10?月~12?月),如果預(yù)定?20?個及以上集裝箱,優(yōu)惠?20%;預(yù)定?20?個以下集裝箱,優(yōu)惠?10%。請編寫一個能根據(jù)月份和預(yù)定的集裝箱個數(shù)計算優(yōu)惠率的程序。(1)問題分析優(yōu)惠判定表如表?5-1?所示。表?5-1優(yōu)惠判定表可能狀態(tài)1234條件A.銷售旺季是是否否B.預(yù)定?20?個及以上是否是否處理方式A.優(yōu)惠?20%是B.優(yōu)惠?10%是是C.優(yōu)惠?5%是請注意以下兩點。①首先需要根據(jù)銷售旺季和淡季兩種情況分別進(jìn)行處理,這需要使用一個雙分支選擇結(jié)構(gòu)。②在銷售旺季和淡季兩種情況下,還要分別考慮預(yù)定?20?個及以上集裝箱和?20?個以下集裝箱兩種情況。算法流程圖如圖?5-3?所示。圖?5-3算法流程圖(2)程序代碼#sl5-3.pymonth=int(input("請輸入月份?Pleaseinputmonth:"))jzxnum=int(input("請輸入預(yù)定數(shù)?Pleaseinputjzxnumber:"))ifmonth==7ormonth==8ormonth==9:ifjzxnum>=20:rebate=10else:rebate=5else:ifjzxnum>=20:rebate=20else:rebate=10print("優(yōu)惠率?Therebateis%d%%"%rebate)(3)輸出結(jié)果請輸入月份?Pleaseinputmonth:8請輸入預(yù)定數(shù)?Pleaseinputjzxnumber:30優(yōu)惠率?Therebateis10%(4)思考與討論如果是新用戶,則第一單再優(yōu)惠?2%,應(yīng)如何修改程序?【實例?5-4】模擬彩票兌獎編寫一個模擬彩票兌獎的程序,當(dāng)兌獎?wù)咻斎胍粋€?4?位數(shù)時,將此數(shù)字與計算機(jī)隨機(jī)產(chǎn)生的?4?位數(shù)進(jìn)行比較,根據(jù)比較結(jié)果來決定中獎等級。中獎規(guī)則為:4?位數(shù)字全部相同則為一等獎,后?3?位數(shù)字相同則為二等獎,后?2?位數(shù)字相同則為三等獎,最后?1?位數(shù)字相同則為四等獎。(1)問題分析需要根據(jù)彩票的數(shù)字對比情況進(jìn)行?5?種情況的判斷和分析,因此采用?if-elif?語句的多分支選擇結(jié)構(gòu)來表達(dá)。調(diào)用?random.randint(1000,9999)函數(shù)產(chǎn)生一個?4?位隨機(jī)數(shù),通過?str()函數(shù)把隨機(jī)數(shù)轉(zhuǎn)換為字符串,與輸入的內(nèi)容進(jìn)行比較。(2)程序代碼#sl5-4.pyimportrandomx=random.randint(1000,9999) #隨機(jī)生成一個?4?位數(shù)作為中獎號碼print("本期中獎號碼是",x)winnum=str(x)ynum=input("請輸入你的?4?位彩票數(shù)字:")ifynum==winnum: #如果?ynum?等于?winnum,則為一等獎print("恭喜!你中了一等獎")elifynum[-3:]==winnum[-3:]: #如果后?3?位數(shù)字相同,則為二等獎print("恭喜!你中了二等獎")elifynum[-2:]==winnum[-2:]: #如果后?2?位數(shù)字相同,則為三等獎print("恭喜!你中了三等獎")elifynum[-1:]==winnum[-1:]: #如果最后?1?位數(shù)字相同,則為四等獎print("恭喜!你中了四等獎")else:print("謝謝參與!祝你下次好運(yùn)!")(3)思考與討論①多分支選擇結(jié)構(gòu)還可以寫成嵌套的形式。②若從?0~30?中隨機(jī)抽取?6?個數(shù)字,和輸入的?6?個數(shù)字進(jìn)行對比,根據(jù)比較的結(jié)果來決定中獎等級,應(yīng)如何編寫程序?【實例?5-5】輸出當(dāng)月的天數(shù)輸入年份和月份,輸出當(dāng)月的天數(shù)(考慮閏年)。如果輸入的月份不合法,則輸出“Error”。(1)問題分析當(dāng)月份是?1、3、5、7、8、10、12?時,當(dāng)月的天數(shù)是?31?天;當(dāng)月份是?4、6、9、11?時,當(dāng)月的天數(shù)是?30?天;當(dāng)月份是?2?時,考慮是否是閏年,如果是,則當(dāng)月的天數(shù)是?29?天,否則是?28?天??梢圆捎枚喾种нx擇結(jié)構(gòu)處理多種情況。(2)程序代碼#sl5-5.pyyear,month=map(int,input().split())ifmonthin[1,3,5,7,8,10,12]:print(31)elifmonth==2:ifyear%4==0andyear%100!=0oryear%400==0:print(29)else:print(28)elifmonthin[4,6,9,11]:print(30)else:print('Error')四、實驗內(nèi)容1.輸入一個整數(shù),判斷是奇數(shù)還是偶數(shù)。2.購買某商品時,價錢?x?和應(yīng)支付的費(fèi)用?y?之間的數(shù)學(xué)關(guān)系如下。請編寫程序,輸入價錢?x,計算應(yīng)支付的費(fèi)用?y。3.假設(shè)購買地鐵車票的規(guī)定為:乘?1~4?站,費(fèi)用為?3?元/位;乘?5~9?站,費(fèi)用為?4?元/位;乘?9?站以上,費(fèi)用為?5?元/位。請編寫程序,輸入人數(shù)、站數(shù),輸出應(yīng)付款。4.編寫成績等級轉(zhuǎn)換程序,轉(zhuǎn)換規(guī)則為:90~100?分為?A,80~89?分為?B,70~79?分為?C,60~69?分為?D,低于?60?分為?E。5.為鼓勵居民節(jié)約用水,自來水公司采取按用水量階梯式計價的辦法,居民應(yīng)交水費(fèi)與月用水量相關(guān),累計水量達(dá)到年度階梯水量分級基數(shù)的臨界點后,開始實行階梯計價。某市的階梯計價方案為:第一階梯的用水量為?216?立方米(含)以下,銷售價格為每立方米?2.90?元;第二階梯的用水量為?216~300?立方米(含),銷售價格為每立方米?3.85?元;第三階梯的用水量為?300?立方米以上,銷售價格為每立方米?6.70?元。請編寫程序計算水費(fèi)。6.已知坐標(biāo)點(x,y),判斷其所在的象限。7.一只水??诳柿?,要喝?15?升水才能解渴。現(xiàn)有一個半徑為?r?厘米、深為?h?厘米的小圓桶,水牛至少要喝多少桶水才會解渴?8.9.回文是指字符串中心對稱,從左向右讀和從右向左讀的內(nèi)容是一樣的。請編寫程序,輸入一個字符串,判斷該字符串是否為回文。10.按照規(guī)定,在限速為?50~80?千米/小時的道路上,超速未達(dá)到?10%的予以警告,超過限定時速?10%~20%的處?100?元罰款,超過限定時速?20%~50%的處?150?元罰款,超過限定時速?50%~70%的處?500?元罰款,超過限定時速?70%的處?1000?元罰款。請編寫程序,根據(jù)車速判別對機(jī)動車的處理措施。11.有一批貨物要運(yùn)輸,共有?n(0<n<10000)千克。小車一次能運(yùn)?600?千克,運(yùn)費(fèi)為?90?元;大車一次能運(yùn)?1500?千克,運(yùn)費(fèi)為?200?元。請編寫程序,計算最省錢的運(yùn)輸方式和運(yùn)費(fèi)。12.身體質(zhì)量指數(shù)(BMI)是目前國際上常用的衡量人體胖瘦程度以及是否健康的指標(biāo)。它的計算公式:BMI=體重÷身高?2(體重除以身高的平方)。其中,體重的單位是?kg,身高的單位是?m。中國人的?BMI?參考標(biāo)準(zhǔn)為:BMI<18.5?為偏瘦;18.5≤BMI<24?為正常;24≤BMI<28?為偏胖;BMI≥28?為肥胖。請編寫程序,輸入一個人的身高和體重,計算?BMI,輸出?BMI?是否正常。13.假設(shè)你買了一箱蘋果(共?n?個),但箱子里混進(jìn)了一條蟲子。蟲子每?x?小時能吃掉一個蘋果,假設(shè)蟲子在吃完一個蘋果之前不會吃另一個,那么?y?小時后還有多少個完整的蘋果?14.假設(shè)學(xué)校的績點換算規(guī)則為:成績大于或等于?85?的轉(zhuǎn)換為4.5,成績大于或等于?75?且小于?85?的轉(zhuǎn)換為3.5,成績大于或等于?65?且小于?75?的轉(zhuǎn)換為2.5,成績大于或等于?60?且小于?65?的轉(zhuǎn)換為1.7,成績小于?60?的轉(zhuǎn)換為0????????????????????????,輸入其他數(shù)據(jù)則輸出“DataError”。請編寫程序,輸入學(xué)生成績,輸出對應(yīng)的績點。?????????????????????????????????????????????????????????????
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 盲文印刷員發(fā)展趨勢強(qiáng)化考核試卷含答案
- 間苯二酚裝置操作工崗前技術(shù)創(chuàng)新考核試卷含答案
- 熱帶作物初制工崗前評審考核試卷含答案
- 護(hù)林員班組協(xié)作測試考核試卷含答案
- 隔離層制備工安全生產(chǎn)知識測試考核試卷含答案
- 船舶氣焊工風(fēng)險識別測試考核試卷含答案
- 2024年浮山縣選聘縣直事業(yè)單位工作人員真題匯編附答案
- 2024年湖北汽車工業(yè)學(xué)院科技學(xué)院輔導(dǎo)員考試參考題庫附答案
- 超市運(yùn)營管理操作手冊
- 2024年焦作職工醫(yī)學(xué)院輔導(dǎo)員考試參考題庫附答案
- 蘇州高新區(qū)(虎丘區(qū))市場監(jiān)督管理局公益性崗位招聘1人考試參考題庫及答案解析
- 北京通州產(chǎn)業(yè)服務(wù)有限公司招聘參考題庫完美版
- 企業(yè)安全隱患排查課件
- 2025版《煤礦安全規(guī)程》宣貫解讀課件(電氣、監(jiān)控與通信)
- 2025年國家開放大學(xué)《管理學(xué)基礎(chǔ)》期末機(jī)考題庫附答案
- 2025年人民網(wǎng)河南頻道招聘備考題庫參考答案詳解
- ESHRE子宮內(nèi)膜異位癥的診斷與治療指南(2025年)
- 急驚風(fēng)中醫(yī)護(hù)理查房
- 基于視頻圖像的大型戶外場景三維重建算法:挑戰(zhàn)、創(chuàng)新與實踐
- 2025年四川省高職單招模擬試題語數(shù)外全科及答案
- 2025年江蘇事業(yè)單位教師招聘體育學(xué)科專業(yè)知識考試試卷含答案
評論
0/150
提交評論