/tutor-prep-s4-ict-python-dictionary-file-io/
/tutor-prep-s4-ict-python-dictionary-file-io/
一般查詢: info@TutorZone.com.hk
辦公時間: 星期一至六 - 上午 9 時至下午 6 時
WhatsApp 星期一至日 - 24 小時
人手接聽: +852 6828 1809
即時客服: +852 9061 3106

DSE ICT|Python 字典與檔案讀寫備課指引(導師用)|鍵值查找、逐行讀檔、統計與例外處理

DSE ICT|Python 字典與檔案讀寫備課指引(導師用)|鍵值查找、逐行讀檔、統計與例外處理

  • 2026-11-05

學生識開檔,但一問「為何用字典不用兩個列表」就靜了。這一堂用五個學生的分數檔,把鍵值查找、逐行讀檔與統計一次串起來,並用字數統計說明字典為何是查找的首選。

本堂目標 學生能夠:①把五行「姓名,分數」讀入字典,算出平均 66.4 分、最高 91 分(Cara)、最低 45 分;②計出及格率 80 百分比,並講出逐行讀檔時何時用 strip 與 split;③用字典做字頻統計,講出同一句六個字之中 to 與 be 各出現兩次,並解釋字典查找為何比逐個列表搜尋快。

01 先備知識(開課前 3 分鐘快檢)

以下任何一項未過關,本堂就會卡住,先補該項:

技能 快檢題 過關標準
基本輸入輸出 print 與 input 的分別是甚麼? 一個輸出、一個等輸入
列表 列表用哪個括號? 方括號,索引由零開始
迴圈 for 迴圈逐個取元素,用甚麼語句? for 變數 in 列表

02 課堂流程(45 分鐘)

時間 環節 導師做什麼 學生做什麼
0–5 分鐘 先備快檢 抽問三條先備題,把字典寫法寫在黑板上 口頭答,錯的抄一次
5–17 分鐘 第一幕:鍵值取代兩個列表 用五個姓名與分數建立字典,求平均 66.4 跟做一次,自己加一個學生
17–30 分鐘 第二幕:逐行讀檔 讀六行檔,跳過標題行,得 46 位元組 自己寫讀檔三行,印出每行
30–40 分鐘 第三幕:統計與例外 計及格率 80 百分比,處理檔案不存在 自己改成 try 版本
40–43 分鐘 一句總結 要學生講出字典在查找上的優勢 口頭答,導師只糾正用詞
43–45 分鐘 離場檢查 派三條問題,收回點錯處 獨立完成,不翻書

03 講解腳本(照著說就可以)

第一幕:第一幕:一個鍵換一個值,不用記位置

兩個平行列表要記住姓名在第幾個、分數在第幾個,一插入就全亂;字典用姓名做鍵,直接取分數。
5 個學生總分 332,平均 66.4;最高 Cara 的 91 分,最低 Dan 的 45 分,用 max 與 min 加 key 參數即可。
查找次數的分別:平行列表最壞要逐個比 5 次,字典平均 1 次,因為鍵會經雜湊直接定位。
一句記法:要按名字找東西,用字典;要按次序處理,用列表。

要求學生複述:字典靠鍵定位,不靠位置。

第二幕:第二幕:檔案是一行一行字串

open 之後,每一行都是字串,連換行符都仍在,所以先 strip 再 split。
六行檔案第一行是標題 name,mark,要跳過或用 next 讀走;剩 5 行資料,每行拆成姓名與分數兩格。
這個小檔案共 46 位元組,等於每行字數加一個換行符;檔案大小的算法在考卷常以位元組為單位問。
最重要一句:用 with open 開檔,離開區塊自動關檔,不會忘記 close。

要求學生複述:每行是字串、先 strip、用 with 開檔。

第三幕:第三幕:統計與出錯都是資料的一部分

及格線 50 分,用條件式數一數,5 人中有 4 人及格,即 80 百分比。
字頻統計同理:把句子 split 成 6 個字,逐個用 get 累加,to 與 be 各 2 次,其餘各 1 次,字典共 4 個鍵。
真實檔案會缺欄位或不是數字,所以要用 try 包住轉換,並在 except 記錄行號,而不是讓程式整個停。
答題要寫出「檢查、轉換、統計、輸出」四步,閱卷員看的是步驟而不是美觀。

要求學生複述:先檢查再轉換,錯的行要記錄不要靜靜跳過。

04 必教題型與步驟

題型 例子 步驟 答案
建立字典 5 個姓名與分數 逐對寫入,或由兩個列表 zip 字典有 5 個鍵
逐行讀檔 六行文字檔,首行標題 with open、strip、split、跳標題 讀到 5 筆資料
統計計算 分數清單 sum 除個數得平均,條件計數得及格率 平均 66.4,及格率 80 百分比
例外處理 檔案不存在或欄位不是數字 try except 包住 open 與 int 程式繼續,並印出行號
合理性檢查(一定要教):三個回讀:①平均 66.4 一定在最低 45 與最高 91 之間,超出就是加錯人;②及格率不可能大於一百,4 除 5 得 80 百分比;③字頻統計的鍵數 4 一定少於字數 6,若相等就代表每個字只出現一次或計法有誤。

05 獨立練習三題

題目 答案 想觀察什麼
五個分數 60、70、80、90、100,平均多少? 80 看有無除錯個數
文字檔有七行,首行標題,資料有幾筆? 6 筆 看有無跳過標題
字典查找為何比列表快? 用鍵經雜湊直接定位,不用逐個比較 看有無講出鍵而不是位置

06 學生常見錯誤與糾正句

錯誤 學生通常這樣寫 導師這樣說
忘記 strip 分數格變成 ’72\n’,int 轉換失敗 每行先 strip 再 split,換行符不是資料。
列表與字典混淆 用索引取姓名,插入一筆就全錯位 要用名字找,就用字典做鍵。
平均除錯個數 總分 332 除 6 得 55.3 資料只有 5 筆,標題行不是學生。
例外當成錯誤 程式一遇壞行就停 用 try except 記錄行號,其餘繼續處理。

07 家課建議(直接指到練習卷題號)

08 離場檢查(最後 5 分鐘)

題目 答案 判定
5 個學生的總分是 332,平均多少 66.4 分 錯:除以 6
讀檔時為何要先 strip 去掉行尾換行符,否則轉數字失敗 錯:答成為了美觀
字典查找靠甚麼定位 鍵,經雜湊直接找 錯:答成靠索引次序

09 導師常問

這一章適合哪一年級?

中四 ICT 程式部分,中五重溫選修單元時可作起點。

45 分鐘夠不夠講讀檔與例外?

夠,因為兩者用同一個小檔案示範,只寫一次完整程式。

有無配套練習?

本章練習三題,答案在頁內;家課接 Python 程式設計入門那章。

立即免費搵導師導師登記 →

本頁為 TutorZone 導師備課指引,內容由 TutorZone 團隊編寫;題目與流程為原創,並非任何學校或出版社的教材。

招募導師及興趣班教練|學術、樂器、體育、藝術、STEM,免費登記,招生與配對交給平台。 了解詳情 →