-----------------------------------------
圖片放大特效
table樣式
 <style scoped> img[alt="Alt1"]{ background: rgba(255, 255, 255, 0); position: absolute; top: 10%; left: 10%; /* transform: translate(-50%, -50%); */ width: 200px; /* 調整圖片寬度 */ height: auto; /* 保持原始比例 */ padding:0; margin:0; z-index: 1; } img[alt="Alt2"]{ background: rgba(255, 255, 255, 0); position: absolute; top: 10%; left: 75%; /* transform: translate(-50%, -50%); */ width: 200px; /* 調整圖片寬度 */ height: auto; /* 保持原始比例 */ padding:0; margin:0; z-index: 2; } </style>
--- # 每周課程內容 ## Week 01: 課程介紹 - **課程內容**: 說明課程目標、課程實作環境操作、評量評分標準 - **運算思維**: - **抽象化**: 理解程式設計的基本概念與目標 - **模式識別**: 認識程式開發環境的操作模式 ## Week 02: 認識Python世界 - 開啟Python神奇寶盒! - **生活議題**: 與電腦成為好朋友!讓我們用Python和它打招呼吧 - **課程內容**: - Python簡介與環境設置 - 第一個Python程式:Hello World - 基本輸入與輸出 (input/print) - 用print變出炫酷圖案 - Time套件:基本時間顯示 - **運算思維**: - **抽象化**: 理解程式語言作為人機溝通的橋樑 - **演算法思維**: 學習基本的輸入→處理→輸出流程 - **模式識別**: 認識程式碼的基本結構模式 ## Week 03: 資料型態與變數 - 掌握變數的藝術! - **生活議題**: 讓數字和文字變得生動有趣,做一個超實用的溫度轉換器! - **課程內容**: - 認識Python基本資料型態 (int, float, str, bool) - 變數的命名規則與使用方法 - 數學運算符號實戰 (+, -, *, /, //, %, **) - 字串的基本操作與格式化 - 實作溫度轉換計算器 (攝氏/華氏互轉) - **運算思維**: - **抽象化**: 理解變數作為資料容器的概念 - **模式識別**: 識別不同資料型態的特性與用途 - **演算法思維**: 設計數學運算的邏輯步驟 ## Week 04: 流程控制(上) - 程式的決策之道! - **生活議題**: 讓程式為你做選擇,打造一個智慧選擇器 - **課程內容**: - if-else條件判斷的基礎語法 - 比較運算符號應用 (==, !=, >, <, >=, <=) - 邏輯運算符號 (and, or, not) - 多重條件判斷(elif) - 結合input製作互動式選單 - 加入random模組增添趣味性 - **運算思維**: - **演算法思維**: 學習條件分支的邏輯結構 - **問題分解**: 將複雜決策拆解為條件判斷 - **模式識別**: 識別不同情境下的判斷模式 ## Week 05: 課程檢視、回顧與統整 - **課程內容**: 前四週課程內容複習與問題解答,小型綜合練習 - **運算思維**: - **模式識別**: 回顧並總結學習模式 - **抽象化**: 整合基礎概念形成知識架構 ## Week 06: 流程控制(下) - 程式的重複魔法! - **生活議題**: 打造一個尋寶冒險遊戲,體驗程式的循環樂趣 - **課程內容**: - while迴圈的基本結構與應用 - for迴圈與range()函式 - break與continue的流程控制 - 巢狀迴圈基礎概念 - 運用while迴圈製作遊戲主循環 - 使用for迴圈處理道具清單 - 加入計分系統與遊戲存檔功能 - **運算思維**: - **演算法思維**: 掌握重複執行的邏輯結構 - **問題分解**: 將遊戲功能分解為循環處理步驟 - **模式識別**: 識別適合使用迴圈的情境模式 ## Week 07: 資料容器(上) - 清單的魔法世界! - **生活議題**: 成為寶物收集家,打造你的收藏清單 - **課程內容**: - 清單(List)的基本概念與建立方法 - 清單的新增(append, insert)、刪除(remove, pop)、修改操作 - 清單切片與索引使用 ([start:end:step]) - 清單的常用方法 (len, sort, reverse, count, index) - 建立寶物收集系統 - 實作新增寶物功能與搜尋功能 - **運算思維**: - **抽象化**: 理解清單作為資料集合的抽象概念 - **演算法思維**: 學習資料的增刪查改操作邏輯 - **問題分解**: 將資料管理需求分解為基本操作 ## Week 08: 資料容器(下) - 字典的奧秘寶庫! - **生活議題**: 打造遊戲背包系統,管理你的物品 - **課程內容**: - 字典(Dictionary)基礎概念與語法 - 字典的鍵值配對操作 - 字典的新增、刪除、修改方法 (keys, values, items) - 設計物品屬性結構 (名稱、類型、數量、價值) - 建立物品分類與數量管理系統 - 實作背包容量限制與物品排序功能 - **運算思維**: - **抽象化**: 理解鍵值對應的資料結構概念 - **模式識別**: 識別適合使用字典的資料組織模式 - **演算法思維**: 設計高效的資料查找與管理邏輯 ## Week 09: 函式設計(上) - 打造程式積木樂園! - **生活議題**: 建立自己的魔法咒語庫,讓程式變得更有趣 - **課程內容**: - 函式的基本概念與定義語法 (def) - 參數傳遞的基礎用法 (位置參數、關鍵字參數) - 函式回傳值的運用 (return) - 區域變數與全域變數概念 - 設計基礎魔法函式 (攻擊、治療、防禦) - 製作參數可調整的咒語系統 - **運算思維**: - **問題分解**: 將複雜功能分解為可重複使用的函式 - **抽象化**: 理解函式作為功能封裝的抽象概念 - **模式識別**: 識別可以模組化的程式模式 ## Week 10: 課程檢視、回顧與統整 - **課程內容**: 第6-9週課程內容複習與問題解答,中期綜合專題練習 - **運算思維**: - **模式識別**: 整合資料結構與函式設計的學習模式 - **抽象化**: 建立更高層次的程式設計思維架構
10. 📝 中期專題
(20分鐘)
(20分鐘)
--- ### 整合運算思維:實戰案例 **問題**:設計一個學生成績管理系統 ````python # 1. 問題分解 # - 新增學生 # - 記錄成績 # - 計算平均 # - 顯示排名 # 2. 模式識別 # - 每個學生都有:姓名、學號、成績清單 # - 都需要:建立、修改、查詢功能 # 3. 抽象化 students = [] # 用清單存所有學生 def add_student(name, student_id): """抽象化:新增學生的細節""" return {"name": name, "id": student_id, "scores": []} def calculate_average(scores): """抽象化:計算平均的細節""" return sum(scores) / len(scores) if scores else 0 # 4. 演算法設計 def show_ranking(): """演算法:排序並顯示排名""" # 步驟1:計算每位學生平均 for student in students: student["avg"] = calculate_average(student["scores"]) # 步驟2:按平均分數排序 sorted_students = sorted(students, key=lambda s: s["avg"], reverse=True) # 步驟3:顯示排名 for rank, student in enumerate(sorted_students, 1): print(f"第{rank}名: {student['name']} - 平均: {student['avg']:.1f}") ````
--- ## 作業:中期綜合專題 🎯 請從以下三個選項中選擇一個完成: --- #### 📝 **選項一:基礎整合** (適合初學者) **任務**:打造一個「班級通訊錄系統」 **功能需求**: 1. 使用**清單**儲存多位同學的資料 2. 每位同學用**字典**記錄:姓名、電話、email、生日 3. 設計**函式**實現: - `add_contact(name, phone, email, birthday)` - 新增聯絡人 - `show_all_contacts()` - 顯示所有聯絡人 - `search_contact(name)` - 搜尋特定聯絡人 - `delete_contact(name)` - 刪除聯絡人 4. 使用 **while 迴圈**建立主選單 5. 使用 **for 迴圈**顯示聯絡人清單 **評分標準**: - 資料結構正確 (30%) - 函式設計合理 (30%) - 迴圈運用得當 (20%) - 程式可正常執行 (20%) --- #### 🔧 **選項二:進階應用** (有點挑戰性) **任務**:開發一個「簡易RPG角色管理系統」 **功能需求**: 1. 使用**巢狀字典**設計角色屬性: - 基本資料:name, job, level - 能力值:hp, mp, attack, defense - 裝備欄:weapon, armor, accessory (字典) - 背包:items (清單) 2. 設計**函式**實現: - `create_character(name, job)` - 建立角色 (根據職業給予初始值) - `show_character_info(character)` - 顯示角色詳細資訊 - `equip_item(character, item_type, item_name)` - 裝備物品 - `use_item(character, item_name)` - 使用道具 - `level_up(character)` - 角色升級 (自動提升能力值) - `save_characters()` - 儲存所有角色資料 3. 特殊功能: - 裝備物品會影響角色能力值 - 使用藥水會回復 HP/MP - 支援多個角色切換管理 --- **評分標準**: - 資料結構設計 (25%) - 函式功能完整性 (25%) - 邏輯正確性 (25%) - 程式碼品質 (組織、註解) (15%) - 創意與額外功能 (10%) **加分項目**: - 錯誤處理 (輸入驗證) - 使用者介面美化 - 資料持久化 (檔案讀寫) --- #### 🚀 **選項三:創意專題** (自由發揮) **任務**:設計一個你感興趣的系統 **必須包含的元素**: - ✅ **至少使用 2 種迴圈** (while, for) - ✅ **清單與字典的組合運用** - ✅ **設計至少 5 個自訂函式** - ✅ **完整的主選單系統** - ✅ **資料的增刪查改功能** **專題建議方向**: 1. 📚 **圖書管理系統** - 書籍借閱、歸還、搜尋 2. 🎮 **遊戲存檔管理器** - 多存檔、讀取、備份 3. 💰 **個人記帳本** - 收支記錄、分類統計、月報表 4. 🎵 **音樂播放清單** - 歌曲管理、播放清單、排序 5. 📝 **待辦事項管理** - 任務新增、優先級、完成度追蹤 6. 🍔 **餐廳點餐系統** - 菜單管理、訂單處理、結帳 7. 其他你有興趣的主題! --- **評分標準**: - 創意與實用性 (20%) - 功能完整度 (25%) - 程式設計技巧 (25%) - 程式碼品質 (20%) - 報告與展示 (10%) **繳交內容**: 1. 完整的 Python 程式碼 (.py 檔) 2. 專題說明文件 (功能介紹、使用說明) 3. 執行畫面截圖 (至少 3 張) 4. 程式碼註解要清楚 **繳交期限**:下週上課前 **繳交方式**:上傳至課程平台 **溫馨提醒**: - 先畫出系統架構圖 - 分步驟實作,逐一測試 - 遇到問題可以詢問老師或同學 - 記得備份你的程式碼!
## 期待你的中期專題作品!🚀