張樂



摘? 要: 為了提高Python語言程序設計課程教學質量,文章采取案例教學法設計了案例“身體質量指數BMI”,通過設計案例、分析案例、總結歸納、拓展應用等四個過程對Python分支結構教學過程進行了具體分析。實踐證明,案例教學法能夠激發學生的學習興趣,調動學生學習的積極主動性,提高學生分析問題和解決實際問題的能力,從而提高了Python語言程序設計的教學效果。
關鍵詞: Python程序設計; 案例教學法; 分支結構; 教學過程分析
中圖分類號:G642.0? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2021)04-72-03
Abstract: In order to improve the teaching quality of Python language programming course, this paper adopts the case teaching method by designing the case of "body mass index BMI", and analyzes the teaching process of Python branch structure through the four processes of case design, case analysis, summary and application expansion. Practice has proved that the case teaching method can stimulate students' interest in learning, mobilize students' initiative in learning, improve students' ability to analyze and solve practical problems, which improves the teaching effect of Python programming course.
Key words: Python programming; case teaching method; branch structure; teaching process analysis
0 引言
Python語言是一種生態語言,是一種簡潔且強大的語言,是一種開源的腳本語言,是僅次于C語言的第二語言[1]。傳統教學過程中,采用填鴨式教學,以教師為主體將算法思想和程序代碼灌輸給學生,在沒有理解思想的基礎上編寫代碼十分困難,無法調動學生的積極性,也無法真正理解分支結構的意義和實際應用。因此,基于案例教學法,采用學生主體教師主導的模式,設計并引入案例,引導學生分析案例并總結歸納程序語法特點及流程圖,從而編寫程序解決實際問題,能夠充分調動學生學習興趣,拓展自主思維能力,熟練掌握語法知識并靈活運用從而解決實際問題。
1 案例教學法概念
案例教學法是19世紀70年代由美國哈佛大學法學院院長蘭德爾提出來的,20世紀30年代開始廣泛應用于商業教育中,20世紀70年代后迅速在普通教育領域普及。案例教學法是根據教學目的,用案例來組織學生進行學習、研究和鍛煉能力的方法[2]。
案例教學法主要是采用啟發式教學,以案例為基本素材,以學生為主體,將其引入一個真實情境中,引導學生根據案例內容展開討論、質疑和反思等活動,培養學生綜合運用知識解決實際問題的能力[3]。
2 Python分支結構概述
程序由三種基本結構構成:順序結構、分支結構和循環結構。分支結構在三種結構中具有承前啟后的作用,“前”是對順序結構的深化認識,“后”是為學習循環語句做鋪墊[4]。分支結構是程序根據條件判斷結果而選擇不同向前執行路徑的一種運行方式。分支結構主要包括三種分支:單分支、二分支和多分支,通過if語句實現。本文主要以多分支if-elif-else為基礎設計案例,采用“設計案例-分析案例-總結歸納-拓展應用”案例教學思路對三種分支結構進行具體分析。
3 案例應用過程
3.1 設計案例
教師根據學生興趣和實際情況,設計案例“身體質量指數BMI”并將案例代碼呈現給學生觀察:
height=eval(input("請輸入身高(米):"))
weight=eval(input("請輸入體重(公斤):"))
bmi=weight/pow(height,2)
print("BMI數值為:{:.2f}".format(bmi))
if bmi<18.5:
print("偏瘦")
elif bmi<24:
print("正常")
elif bmi<28:
print("偏胖")
else:
print("肥胖")
引導學生結合學過的知識閱讀程序,并在Python運行環境IDLE中運行程序,效果如圖1所示。
3.2 分析案例
【提問】觀察運行結果,教師提問:該程序的功能是什么?
學生進行分組討論,教師指導得出結論:該案例根據輸入的身高和體重值計算BMI結果,并根據結果輸出對應的四種體型:偏瘦、正常、偏胖、肥胖。根據分析結果,畫出流程圖如圖2所示。
由此可看出該案例屬于多分支結構,采用if-elif-else語句實現,根據條件判斷結果執行其中一條語句。如果BMI<18.5,輸出“偏瘦”,否則(即BMI>=18.5)繼續判斷第二個條件BMI<24,輸出“正常”,否則(即BMI>=24)繼續判斷第三個條件BMI<28,輸出“偏旁”,若都不成立(即BMI>=28),輸出“肥胖”。
【提問】提示學生將程序中的elif語句全部刪除,運行程序觀察結果并分析程序功能。
刪除后主要程序代碼如圖3。
if bmi<18.5:
print("偏瘦")
else:
print("肥胖")
運行后效果如圖3所示:
學生分組討論,教師引導學生畫出流程圖,并得出結論:刪除elif后的案例只有兩種結果,若BMI值<18.5則輸出“偏瘦”,若BMI值>=18.5則都輸出“肥胖”。由此可見刪除elif語句后,if-else格式是二分支結構語句,根據條件判斷選擇兩種結果中的一種執行。
【提問】將程序中的else語句刪除后,觀察運行結果,分析程序功能。
刪除后主要代碼如圖4。
if bmi<18.5:
print("偏瘦")
運行程序結果如圖4所示:
引導學生觀察運行結果,并多次測試,發現程序運行只有一種輸出結果:若BMI值<18.5則輸出“偏瘦”,其他BMI值不輸出。由此可見,if語句表示單分支結構,根據條件判斷,只執行一種結果。
3.3 總結歸納
根據以上案例分析結果,教師引導學生總結出在Python語言程序設計中分支結構有三種:單分支、二分支和多分支。
⑴ 單分支結構:if語句
語法結構如下:
if <條件>:
<語句塊>
流程圖如圖5所示。
if語句首先判斷<條件>的結果值,如果結果為True,則執行語句塊里的語句序列,然后控制轉向程序中的下一條語句。如果結果為False,語句塊里的語句會被跳過,控制轉向程序的下一條語句。
⑵ 二分支結構:if-else語句
語法格式如下:
if? <條件>:
<語句塊1>
else:
<語句塊2>
流程圖如圖6所示。
if-else語句首先判斷<條件>的結果值,如果結果為True,則執行語句塊1里的語句序列,如果結果為False,則執行語句塊2里的語句序列。
⑶ 多分支結構:if-elif-else語句
語法格式如下:
if <條件1>:
<語句塊1>
elif<條件2>:
<語句塊2>
...
else:
<語句塊N>
流程圖如圖7所示。
if-elif-if語句先判斷條件1是否成立,若成立執行語句塊1;不成立則判斷條件2是否成立,成立執行語句塊2,否則繼續判斷條件3以此類推。當所有條件不成立,則執行else下面的語句塊。
3.4 拓展應用
了解分支結構的三種分支后,為了鞏固所學知識并將知識點應用到實際案例中,設計案例“PM2.5空氣質量提醒”,要求學生編寫程序并實現效果:
輸入PM2.5值,并輸出相應的空氣質量提醒。
如果PM2.5值<35,打印“空氣優質快去戶外運動!“
如果35<=PM2.5值<75,打印”空氣良好,適度戶外活動!”
如果PM2.5值>=75,打印“空氣污染,請小心!”
教師引導學生分析案例:案例中有三種情況,即三個分支。因此可以采用多分支結構if-elif-else結構實現,代碼如下:
PM=eval(input("請輸入PM2.5數值: "))
if 0<=PM < 35:
print("空氣優質,快去戶外運動!")
elif PM <75:
print("空氣良好,適度戶外活動!")
else:
print("空氣污染,請小心!")
【提問】是否可以用單分支實現?
多分支可以理解為多個單分支,可以將案例中的if-elif-else改寫為三個if語句來實現,代碼如下:
PM=eval(input("請輸入PM2.5數值: "))
if 0<=PM<35:
print("空氣優質,快去戶外運動!")
if 35<=PM<75:
print("空氣良好,適度戶外活動!")
if 75<=PM:
print("空氣污染,請小心!")
4 結束語
本文針對Python中的分支結構,設計“身體質量指數BMI”案例,采用案例教學法(引入案例-分析案例-總結歸納-拓展應用),形象生動地分析了三種分支結構運行效果及語法格式特點,并引導學生自主總結要點從而應用到其他實際案例中。由此可見,案例教學法能夠激發學生的學習興趣,調動其積極性和主動性,提高分析問題和解決實際問題的能力,案例教學法將理論知識和實際操作緊密結合,從而提高了Python語言程序教學的課堂效率。鑒于此,期望將案例教學法融入到相關程序設計課程各個環節,真正做到教學方法和教學過程的融合,進而將案例教學法應用到各科教學過程中,從而提高整體教學質量。
參考文獻(References):
[1] 嵩天,禮欣,黃天羽.Python語言程序設計基礎(第2版)[M].高等教育出版社,2017.
[2] 鄭均輝,李瑋瑤,李圣普.C語言程序設計課程案例教學法探討與研究[J].內江科技,2001.10:37
[3] 邵雪梅,馬駿,程輝.案例教學法在“C語言程序設計”課程中的應用[J].新鄉學院學報(自然科學版),2012.29(3):283-284
[4] 廉侃超,李霞.案例教學法在VB程序設計選擇結構教學中的應用[J].運城學院學報,2014.2:92