蔡中琴
教情分析
Python語法簡潔,類庫豐富,免費開源,較適合初學者學習。在解決問題的學習活動中,學生可以了解并掌握知識和技能,積極動手動腦,提高信息素養(yǎng)。Python對于初中教師來說,也屬于新內(nèi)容。因此,在課前,教師要做大量的準備工作,如設(shè)計主題、制作微視頻等。本課為Python程序設(shè)計中的第一課《初識Python》,教學中以探索星球為項目,使學生初步了解Python,感受程序設(shè)計的魅力。
學情分析
本課授課對象為初一新生,大多數(shù)學生沒有接觸過Python,因此不能完全按照教材的設(shè)計來教學。
教學目標
知識與技能:了解Python編程語言起源以及應用,知道Python軟件的界面和基本使用方法,掌握利用Python編寫程序的一般步驟。
過程與方法:通過自主討論、合作探究、實踐練習,提高自我學習的能力。
情感態(tài)度與價值觀:增加對計算機的了解,了解編程語言,增強編程興趣及對信息技術(shù)的熱愛。
教學重難點
重點:print()、input()函數(shù)的使用,利用Python編寫程序的一般步驟。
難點:能讀懂Python編寫的包含分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的程序。
教學過程
1.情境導入
教師引出Python語言,并播放視頻,介紹Python的起源、創(chuàng)始人、特點等,激發(fā)學生的興趣。
教師小結(jié):Python語法簡單明了,適用于各個操作系統(tǒng),模塊庫豐富,適用范圍廣泛,如網(wǎng)站、搜索引擎、辦公應用、游戲等。
2.新知講授
(1)第一站:熟悉Python 編程環(huán)境
師:今天,我們先來熟悉一下Python的編程環(huán)境。請大家利用桌面上的PDF學案,根據(jù)提示步驟完成第一站的探索,同時,也幫老師的電腦設(shè)置一下。(第一站很簡單,主要就是認識殼窗口及>>>提示符)
學生自主學習:①打開Python軟件的方法(掌握兩種)。②認識殼窗口。③調(diào)整編輯器。④試用殼窗口。
(2)第二站:體驗Python 編程
①print()函數(shù)。
教師引導學生學習輸出函數(shù)——能夠輸出想說的話,即‘’或“”之間的內(nèi)容,并提示學生標點在英文狀態(tài)下輸入、單引號或雙引號要成對出現(xiàn)。
學生利用“大家來找碴,判斷對錯”來練習。
(可用代碼的顏色作為輔助判斷手段,幫助學生認清代碼)
>>>print('歡迎來到Python星球')
>>>print(’歡迎來到Python星球")
>>>print("歡迎來到Python星球")
>>>print(“歡迎來到Python星球")
>>>print("歡迎來到Python星球)
>>>print("歡迎來到Python星球")
②input()函數(shù)。
師:大家看屏幕,看似和剛才沒多大區(qū)別,但注意,它沒有直接出現(xiàn)提示符“>>>”,其實,在光標閃爍處是可以輸入內(nèi)容的,輸入“caicai”按回車代碼執(zhí)行結(jié)束,繼而顯示剛才輸入的內(nèi)容。
學生操作。
師:但通常我們會把輸入的內(nèi)容存儲起來,方便調(diào)用或運算,因此需要“給變量賦值”。因而可以在前面加上一個name(變量名),這樣就把輸入的“caicai”存到了name變量中。
(3)第三站:學會使用編輯窗口
師:如果把殼窗口關(guān)閉,會發(fā)現(xiàn)剛才的內(nèi)容都沒了,因此殼窗口無法保存代碼,我們需要可以保存代碼的編輯窗口。具體步驟下:
①打開一個新的編輯窗口,把剛才的兩句程序復制進來,按F5快捷鍵,每次按都會提示“是否保存”。
②選擇桌面,起名為1,后綴名不寫,默認是py,全名是1.py。結(jié)果還是在殼窗口里輸入、輸出。
教師引導學生自主練習:在編輯窗口輸入以下兩行代碼 ,對保存文件命名名為1.py,運行觀察結(jié)果。
name=input('請輸入你的名字:')
print('歡迎'+name+'來到Python星球')
引導學生思考:“>>>print(1+'123') ”這樣寫可以嗎?
學生回答并修正:
>>> print('1'+'123')? ? ?#’1123’
>>> print(1+123)? ? ? #124
教師小結(jié):以上學習實現(xiàn)了第一個有交互功能的Python程序,如果把程序上傳到星球上的機器人中,就實現(xiàn)了最簡單的人機對話交互功能。如果可以上傳到機器人的主板上,機器人就具有了語言識別功能,就是我們生活中最常見的小度、小愛同學。
(4)第四站:續(xù)寫星球故事
師:圖1所示為星座查詢的對話,我們來看看這樣的對話應該如何編寫程序。先讀懂圖2所列的程序,并輸入4位代表月日的數(shù)字,查找出對應的星座,如4月17日,則輸入0417,輸出白羊座。
教師詳細解析:
①star列表中按序放著12個星座;
②d1列表中按序放著每個星座的第一個月的上限日期;
③d2列表中按序放著每個星座的第二個月的下限日期;
④定義變量a為從鍵盤輸入的代表4位生日的數(shù)字,并做出提示"請輸入代表月日的4位數(shù)字,如4月17日,即0417" a=input("請輸入代表月日的4位數(shù)字,如4月17日(0417):");
⑤for循環(huán),i初始值為0,每次加1,一直到12-1停止。即0-11,一共12次;
⑥如果輸入的內(nèi)容在上限日期和下限日期之間,將星座賦值給result變量,并且跳出循環(huán)結(jié)束。如果12次都沒有匹配上,那也結(jié)束循環(huán),result值不變,還是初始值為空。
⑦通過result變量判斷,如果是空,則輸出“輸入有誤”,如果有新的賦值,則輸出“你是**座寶寶”。
教師提出問題:這個程序有沒有問題?
學生得出如果輸入的后兩位超30或31,就超過了每個月的自然天數(shù),但程序并沒有判錯,如輸入0399。
3.練習拓展
拓展任務:完成星座查詢,即在上一條星座查詢的程序基礎(chǔ)上進行修正,并且補全程序。
修改一:(如圖3)。
修改二:將判斷的條件由d1[i]<=a<=d2[i]改為b1[i]<=a<=e1[i]or b2[i]<=a<=e2[i]。
教師發(fā)布說明:
①b1列表中按序放著每個星座的第一個月的上限日期,e1列表中按序放著每個星座的第一個月的下限日期;
②b2列表中按序放著每個星座的第二個月的上限日期,e2列表中按序放著每個星座的第二個月的下限日期;
③列表補全日期漏洞,判斷條件也要完善,每個星座橫跨兩個月,任一時間段內(nèi)都能判斷出正確的星座。
需要注意的是:①縮進問題 Python中沒有大括號,因此用縮進的方式嚴格控制程序的層次結(jié)構(gòu)關(guān)系,如在冒號后按回車,就會換行并自動縮進4個空格,如按tab鍵,則不換行就能縮進4個空格。②程序還存在BUG,沒有考慮到如果是閏年,0229的情況。
4.課堂小結(jié)
目前我們有上百種編程軟件,主要流行的有十幾種。它們大同小異,一通百通。在程序的世界里,遵循的是一樣的法則。如果以后我們有機會去別的星球探索,不要忘記曾經(jīng)來過一個名為Python的星球。
教學反思
本節(jié)課認識了Python語言的誕生、特點及其在人工智能領(lǐng)域、在生活中的多方面應用。本課知識信息量較大,學生課前要有一定的預習量,同時課上要學會用學案,團隊合作,一步步摸索探究,最終完成一個完整項目的實踐學習。
基金項目:江蘇省泰州市教育信息化研究課題“項目化學習在初中信息科技教學中的案例研究”,編號2022jksxxh023。
點? 評
初中生學習程序設(shè)計最難突破的就是入門問題,蔡老師以“初識Python”一課為例為我們展示了一節(jié)初中Python入門課。該課具有以下特點:第一,基于學生原有經(jīng)驗,有效實現(xiàn)遷移。無論是從圖形化編程語言自然過渡到Python語言,還是從生活日常經(jīng)驗遷移到編程過程,該課例都是建立在學生原有經(jīng)驗之上進行有效遷移,有助于學生理解新知,實現(xiàn)了新知和舊知之間的聯(lián)系。第二,Python星球主題貫穿全過程,有效銜接學習。該課例以星球站點為導向,圍繞著核心情境展開完整的實踐學習,有效地銜接了Python入門學習的各個階段和部分,將編程語言學習融入具體問題解決之中,取得了良好的教學效果,也提供了新課標下編程學習的范例。
(點評人:江蘇省南京市東山高級中學信息技術(shù)正高級教師 巫雪琴)