Python編程語言以其語法簡潔、類庫豐富的特點廣受編程新手喜愛。對于初中信息技術(shù)教師而言,Python程序是一門內(nèi)容相對較新的課程;對于學(xué)生而言,雖然他們對操作電腦比較精通,但對于編程語言可能了解甚少。因此,在課程開始前,教師需要進行充分的準(zhǔn)備工作,除了要對教學(xué)內(nèi)容進行整體梳理,還要研究Python程序設(shè)計教學(xué)中的“透”和“趣”。這實質(zhì)上就是以學(xué)生興趣為基礎(chǔ),將學(xué)科知識和日常生活進行整合,打造具有立體感和層次感的學(xué)習(xí)過程。同時,教師在進行教學(xué)設(shè)計時要兼顧興趣與理論知識,不可因培養(yǎng)興趣而忽視理論知識教學(xué)。若想完成上述目標(biāo),教師還要對Python程序的教學(xué)內(nèi)容進行深度剖析。這樣既能充分挖掘教材,讓學(xué)生“吃透”“學(xué)透”,掌握扎實的理論基礎(chǔ),還能培養(yǎng)自己在教學(xué)領(lǐng)域的創(chuàng)新思維。
“初識Python”是Python程序設(shè)計系列課程的第一課,是開啟Python世界大門的鑰匙,在激發(fā)學(xué)生學(xué)習(xí)興趣并掌握編程語言方面具有重要意義。這一課通過充滿趣味的教學(xué),讓學(xué)生初步了解Python編程語言,并體驗程序設(shè)計的魅力。
一、教學(xué)概況
部分學(xué)生在小學(xué)階段接觸過編程內(nèi)容,但掌握不系統(tǒng)、運用不夠靈活;部分學(xué)生是入校后第一次接觸學(xué)習(xí)。
二、教學(xué)展示
(一)尋找Python“鑰匙”(課前導(dǎo)入)
(多媒體展示:Python圖標(biāo);Python軟件創(chuàng)始人)
師:編程語言,顧名思義是用來編寫計算機程序的特定語言,從而向計算機設(shè)備發(fā)出指令,讓計算機完成指定的任務(wù)。編程語言有很多種,今天我們要學(xué)習(xí)的是Python,展示的人物是Python軟件創(chuàng)始人吉多·范羅蘇姆,他是一名計算機程序員,被稱為Python之父,目前仍然在從事Python開發(fā)工作。在Python開發(fā)領(lǐng)域流傳著這樣一句話:life is short,you need Python(“人生苦短,我用Python”),體現(xiàn)了Python程序語言的優(yōu)勢。從本課開始,我們一起探索Python程序內(nèi)容,希望大家通過學(xué)習(xí)能多掌握一門技術(shù)語言。
(設(shè)計意圖:通過簡單有趣的導(dǎo)入,讓學(xué)生了解課程基本內(nèi)容,明確課程學(xué)習(xí)的意義,在心中埋下學(xué)習(xí)興趣的種子。)
(二)打開Python之門(新課講授)
第一站:探索Python編程環(huán)境
教師引導(dǎo):我們將開啟Python編程的學(xué)習(xí)旅程,請大家打開電腦桌面上的學(xué)習(xí)資料,跟隨指導(dǎo)步驟,一起探索Python的環(huán)境,并為電腦配置編程環(huán)境。
多媒體下發(fā)學(xué)生自主學(xué)習(xí)任務(wù):
1.學(xué)習(xí)打開Python軟件的方法。
2.認(rèn)識并理解殼窗口的功能。
3.調(diào)整編輯器以適應(yīng)個人喜好。
4.實踐使用殼窗口進行基本操作。
教學(xué)點睛:Python編程環(huán)境不是物理狀態(tài)的環(huán)境,而是一種計算機系統(tǒng)狀態(tài),在這種環(huán)境中計算機可以開始特定的工作。在講授過程中,教師要注意區(qū)分術(shù)語,以免學(xué)生混淆。通過教師及時的同步解釋,學(xué)生會漸入學(xué)習(xí)佳境。
(設(shè)計意圖:這一站的目標(biāo)是讓學(xué)生熟悉Python的殼窗口和提示符。相比理論學(xué)習(xí)讓學(xué)生不知所云,動手操作更能讓學(xué)生有學(xué)習(xí)興趣;通過老師布置的基礎(chǔ)任務(wù),學(xué)生在自主操作的過程中能夠快速熟悉課程框架,邁出新課學(xué)習(xí)第一步。)
第二站:深入Python編程世界
在這一站,我們將探索Python的兩個核心函數(shù):print()和input()。
1. print()函數(shù)
師:print有打印、印刷的意思,在編程語言中表示輸出,print()函數(shù)表示允許我們向計算機設(shè)備輸出信息。
先由教師在程序做演示,再指導(dǎo)學(xué)生學(xué)習(xí)如何使用print()函數(shù)輸出文本,強調(diào)文本無論是用單引號還是雙引號,都必須成對出現(xiàn)。此外,英文狀態(tài)下的標(biāo)點符號也需要正確使用。
教學(xué)提示:有條件或時間充裕的情況下,教師可以開展“大家來找碴”游戲,讓學(xué)生判斷代碼的正確與否,通過具體的圖例展示發(fā)現(xiàn)問題,進而檢查代碼的正誤,降低學(xué)生面對一連串代碼不知所云的枯燥性。
2. input()函數(shù)
師:input()函數(shù)允許我們接收用戶的輸入,盡管input()函數(shù)看起來和print()函數(shù)相似,但它們之間的一個重要區(qū)別是input()會等待用戶輸入后才繼續(xù)執(zhí)行。為了在程序中使用這些輸入的數(shù)據(jù),我們需要給輸入的內(nèi)容賦值給一個變量(如圖1)。
學(xué)生嘗試操作,輸入“caicai”并按下回車鍵,屏幕上會顯示輸入的內(nèi)容。
(設(shè)計意圖:本環(huán)節(jié)體現(xiàn)了在教學(xué)設(shè)計中要重視“透”這一點,引導(dǎo)學(xué)生深刻掌握這兩個函數(shù)的作用,理解意義并學(xué)會如何操作,吃透用法,在后續(xù)的學(xué)習(xí)中才能穩(wěn)扎穩(wěn)打。)
第三站:掌握Python編輯技巧
師:在這一站,我們將學(xué)習(xí)如何使用Python編輯窗口來保存我們寫的代碼。因為殼窗口關(guān)閉后,內(nèi)容會丟失,所以需要找到可以保存代碼的地方,以下步驟請同學(xué)們跟著老師一起操作。
1.開啟編輯窗口
打開一個新的編輯窗口,并將代碼復(fù)制、粘貼到編輯窗口中。按下F5鍵,編輯窗口會提示是否保存文件。
2.保存文件
接下來,選擇電腦桌面作為文件保存的位置,給文件起一個名稱,比如“1”,注意不要添加任何后綴。這樣,文件默認(rèn)的擴展名就是.py(python腳本文件),完整的文件名就是“1.py”。
3.實踐操作
現(xiàn)在,請大家在編輯窗口中輸入兩行代碼,并保存文件名為“1.py”來運行并觀察結(jié)果是什么。
4.探索問題
請大家思考:如果我們按照以下方式編寫代碼,這樣寫行不行?如果不行,應(yīng)該如何修正?
代碼示例:
```python
>>> print(1 + '123')
```
學(xué)生回答并修正:
```python
>>> print('1' + '123') # 輸出:'1123'
>>> print(1 + 123) # 輸出:124
```
教師小結(jié):通過以上學(xué)習(xí),我們不僅創(chuàng)建了第一個具有交互功能的Python程序,還學(xué)會了如何將程序上傳到機器人上,實現(xiàn)了簡單的人機對話交互功能。如果程序能夠上傳到機器人的主板上,機器人就具備語言識別功能,這就是大家熟知的“小度”的運行原理。
第四站: Python實踐——制作星座查詢小程序
師:在這一站,老師將教大家學(xué)習(xí)如何編寫一個簡單的星座查詢程序,這個程序?qū)⒏鶕?jù)用戶輸入的生日,幫助他們找到對應(yīng)的星座。
首先,我們需要了解一些基礎(chǔ)知識:
星座列表(`star`):包含了十二個星座的名稱。
月份日期列表(`d1`):包含了每個星座第一個月的上限日期。
月份日期列表(`d2`):包含了每個星座第二個月的下限日期。
然后,需要讓用戶輸入自己的生日,我們可以使用input()函數(shù)來實現(xiàn)這一點。
接下來,我們需要檢查用戶輸入的日期是否在某個星座的日期范圍內(nèi),可以使用一個`for`循環(huán)來遍歷`d1`和`d2`列表,并檢查用戶輸入的日期是否在范圍內(nèi)。如果輸入的日期在某個星座的范圍內(nèi),我們將該星座的名稱賦值給一個變量(比如`result`),并跳出循環(huán)。
最后,我們輸出變量`result`的值,告訴用戶他們的星座內(nèi)容。
學(xué)生認(rèn)真觀察老師的操作過程,有學(xué)習(xí)基礎(chǔ)的同學(xué)可以試著自己操作。
師:下面是這個程序的代碼示例, 將根據(jù)用戶輸入的生日,告訴他們對應(yīng)的星座。
```python
# 星座名稱和日期范圍
star_dates = [
("水瓶座", (1, 20), (2, 18)),
("雙魚座", (2, 19), (3, 20)),
("白羊座", (3, 21), (4, 19)),
("金牛座", (4, 20), (5, 20)),
("雙子座", (5, 21), (6, 20)),
("巨蟹座", (6, 21), (7, 22)),
("獅子座", (7, 23), (8, 22)),
("處女座", (8, 23), (9, 22)),
("天秤座", (9, 23), (10, 22)),
("天蝎座", (10, 23), (11, 21)),
("射手座", (11, 22), (12, 21)),
("摩羯座", (12, 22), (1, 19))
]
# 獲取用戶輸入并處理
birthday = input("請輸入你的生日(格式如0417):")
month = int(birthday[:2])
day = int(birthday[2:])
# 查找星座
result = ""
for star,(start_month, start_day), (endYHLgfyM/Yb+KLR3oZ5ZelANgHjQvz/p/HLJe/g3XDvs=_month,end_day) in star_dates:
if((month==start_month and day>= start_day)or
(month == end_month and day <= end_day)):
result = star
break
# 輸出結(jié)果
if result:
print(f"你是{result}寶寶。")
else:
print("輸入有誤,請輸入正確的日期。")
```
學(xué)生檢查自己的程序是否能運行,如有問題先自行檢查,再求助老師。
(設(shè)計意圖:通過結(jié)合學(xué)生感興趣的星座內(nèi)容學(xué)習(xí)做小程序,既能趁熱打鐵、現(xiàn)學(xué)現(xiàn)用,又體現(xiàn)了教學(xué)的“趣”,削減了學(xué)生的畏難和枯燥情緒。)
三、教學(xué)復(fù)盤
(一)課后作業(yè)
(1)請同學(xué)們相互修正并補全星座查詢程序。
(2)修改程序中的日期判斷條件,以適應(yīng)不同月份的天數(shù)。
(設(shè)計意圖:學(xué)習(xí)編程語言需要學(xué)生勤學(xué)勤練,通過課后練習(xí)將課堂所學(xué)轉(zhuǎn)化為個人技能,讓學(xué)生的學(xué)習(xí)興趣能持續(xù)發(fā)力。)
(二)教學(xué)總結(jié)
本次教學(xué)通過趣味性導(dǎo)入、實踐性教學(xué)等方法讓學(xué)生在第一堂課上知道什么是編程語言,了解并學(xué)習(xí)使用最基本的函數(shù)知識,試著寫一寫簡單的代碼并知道如何保存,再在教師的指導(dǎo)下做簡易的程序。通過這一系列操作,課程框架初步搭建起來,隨著課程內(nèi)容越來越深入,學(xué)生的學(xué)習(xí)基礎(chǔ)越來越扎實,在達(dá)成教學(xué)目標(biāo)的同時,對學(xué)生核心素養(yǎng)的培養(yǎng)也會水到渠成。
當(dāng)然,由于每個學(xué)生的學(xué)習(xí)基礎(chǔ)與能力各異,班級整體水平仍有參差。筆者在今后會根據(jù)實際做一定的調(diào)整,讓有基礎(chǔ)、有能力的學(xué)生“帶頭先跑”,在其學(xué)有余力之時還可以幫助基礎(chǔ)薄弱的同學(xué),實現(xiàn)共同進步。
(作者單位:甘肅省蘭州市榆中縣連搭中學(xué))
編輯:張國仁