Python一下:從風土資料到智慧生活的程式設計
從一隻會畫圖的海龜出發,走進百香果分級、中文檔案、小遊戲、網路資料與智慧物聯網。這不是文章清單,而是一條可以真正走完的Python學習路徑。
學Python不只是記住語法,而是學會把地方問題說清楚、把資料整理好,再讓程式替生活創造新的可能。
先看地圖:我現在應該學什麼?
第一次學習請由左至右;已有基礎者,可以直接從需要的主題開始。
輸出、Turtle、指令順序
變數、判斷、迴圈
List、Tuple、Set、Dict
函式、檔案、遊戲、IoT
第一站|認識Python,讓程式動起來
初遇Python,很好玩又受歡迎的程式語言
認識Python的特色、應用範圍,以及它為何適合初學者。
適合:第一堂課,回答「AI時代為什麼還要學Python?」
打好Python程式基礎
從畫線、長方形、正方形到星星,理解指令順序、迴圈與函式。
挑戰:改變顏色、角度與重複次數,創作自己的風土圖騰。
第二站|變數、判斷與迴圈
Python迴圈的美
以Turtle重複畫圓,比較逐行重複、while、for及遞迴的不同寫法。
關鍵問題:同一個結果,為什麼可以有多種程式寫法?
Python雙迴圈基礎教材
從列與欄理解雙迴圈,建立圖形排列、座位表與二維資料的基礎。
挑戰:輸出實心方塊、空心方塊、三角形及棋盤圖案。
夠Python,九九乘法表
將傳統雙迴圈改寫成串列生成式,體會精簡但仍須兼顧可讀性的Pythonic風格。
Python變數與資料型別創新教材
從「變數是標籤」與「百香果有130種芳香物質」理解變數、整數、字串及型別轉換。
第三站|用風土資料學四大資料結構
當資料愈來愈多,重點不只是「存進去」,而是選擇最適合的資料結構。以下系列以百香果分級為共同情境。
| 資料結構 | 生活比喻 | 適用情形 | 文章主題 |
|---|---|---|---|
| List 串列 | 可以調整順序的清單 | 有順序、可重複、可修改 | 從百香果分級看List串列 |
| Tuple 元組 | 公告後固定的標準 | 有順序,但不希望被更改 | 以Tuple表示百香果分級標準 |
| Set 集合 | 不重複的品項名單 | 去除重複、交集與差集 | 用Set進行百香果分級判斷 |
| Dict 字典 | 用等級查詢規格 | 以鍵快速找到對應的值 | 用Dict查詢百香果分級標準 |
第四站|函式:把解法變成可以重複使用的工具
函式不是為了把程式變難,而是替一段有意義的工作命名。建議回到「打好Python程式基礎」的繪圖程式,依序完成:
- 先寫出可以執行的重複指令。
- 用
def將繪圖步驟包成函式。 - 加入長度、顏色、角度等參數。
- 讓函式回傳計算結果或執行狀態。
- 組合多個小函式,完成一個可測試的作品。
第五站|檔案與中文資料處理
檔案的簡易操作
練習寫入、讀取、換行、中文編碼及with open()的安全寫法。
用Python計算中文英文的字數及字元數
比較中文「字元」與英文「單字」的差異,理解資料處理不能忽略語言情境。
Python從網路爬文到Word存檔
把網頁資料取得、解析與文件輸出串成一個完整工作流程。
用Python爬圖,找出南開校園美景
從文字資料延伸到圖片檔案,認識網址、檔名與下載流程。
第六站|用小遊戲整合基本語法
用Python設計猜數字小遊戲
整合亂數、輸入、判斷與迴圈,建立完整的互動回饋。
用Python開發XAXB小遊戲
從答案產生、輸入驗證到A與B的判定,訓練問題拆解能力。
用集合特性開發新版XAXB
比較2018與2019版本,觀察集合及生成式如何縮短程式。
Challenge AI:比較兩版的正確性、可讀性、效率及輸入例外。
第七站|從基本語法走向智慧生活
Python網路爬文
讓Python從本機走向網路,取得可分析的公開資料。
用Python實作UDP通訊程式
理解傳送端、接收端、IP與Port,為MQTT及AIoT奠定基礎。
micro:bit OLED初接觸
把變數、迴圈及字串顯示在真實硬體上,感受程式與環境互動。
用pywin32操作Word、Excel與PowerPoint
讓Python處理日常重複工作,理解「語法是工具,解決問題才是目的」。
給學生的建議修課順序
| 階段 | 學習內容 | 代表文章 | 學習成果 |
|---|---|---|---|
| W1–W2 | 動機、輸出、Turtle | 初遇Python、打好Python基礎 | 完成風土圖騰 |
| W3–W5 | 變數、型別、判斷、迴圈 | 變數是標籤、迴圈的美 | 完成互動判斷程式 |
| W6–W8 | 雙迴圈、期中整合 | 雙迴圈教材、九九乘法表 | 完成圖形排列與解釋 |
| W10–W12 | 四大資料結構 | 百香果List/Tuple/Set/Dict | 建立風土分級資料 |
| W13–W14 | 函式、檔案、例外 | 檔案簡易操作、中文字數 | 完成資料讀寫工具 |
| W15–W17 | 遊戲或智慧生活PBL | 猜數字、XAXB、UDP、micro:bit | 完成可展示專題 |
最後提醒:會執行,不等於會程式設計
真正的學習證據不是「畫面跑出來了」,而是能回答以下五個問題:
- 這段程式要解決什麼問題?
- 資料如何輸入、處理與輸出?
- 為什麼選擇這種流程或資料結構?
- 如果輸入錯誤或遇到邊界值,程式會怎樣?
- 你如何證明修改後的程式是正確的?
從風土資料出發,讓程式理解地方;從智慧生活出發,讓技術回到人的需要。
沒有留言:
張貼留言