HW #01Python 環境建立和Hello World
1.Notebook
2.YT
3.學習卡
4.測驗


5.
# 1. 建立字典資料結構student_records = {}print("=== 歡迎使用 Python 學生健康與狀態紀錄系統 ===")# 2. 使用 while 迴圈持續接收輸入while True: name = input("\n請輸入學生姓名(輸入 'q' 或 'quit' 結束選單):").strip() if name.lower() in ['q', 'quit']: print("停止輸入,開始進行資料彙整與分析...") break # 3. 輸入防錯與型態轉換 (str -> float) try: height_cm = float(input(f"請輸入 {name} 的身高 (公分 cm):")) weight_kg = float(input(f"請輸入 {name} 的體重 (公斤 kg):")) except ValueError: print("⚠️ 輸入格式錯誤!身高與體重必須為數字,請重新輸入。") continue # 4. 運算與條件判斷 height_m = height_cm / 100 bmi = weight_kg / (height_m ** 2) bmi_rounded = round(bmi, 2) if bmi < 18.5: status = "體重過輕" elif bmi < 24.0: status = "正常範圍" elif bmi < 27.0: status = "過重" else: status = "肥胖" # 5. 存入字典 student_records[name] = { "height": height_cm, "weight": weight_kg, "bmi": bmi_rounded,
"status": status } print(f"✅ 已成功紀錄 {name} 的資料(BMI: {bmi_rounded},評語: {status})")# 6. 資料走訪與輸出print("\n" + "="*40)print("📊 學生健康紀錄總彙整表")print("="*40)if not student_records: print("目前沒有錄入任何學生資料。")else: for student_name, data in student_records.items(): print(f"👤 姓名: {student_name:<6} | 身高: {data['height']}cm | 體重: {data['weight']}kg | BMI: {data['bmi']} ({data['status']})") all_bmis = [data["bmi"] for data in student_records.values()] avg_bmi = sum(all_bmis) / len(all_bmis) print("-" * 40) print(f"📈 全班登記人數:{len(student_records)} 人") print(f"📈 全班平均 BMI :{round(avg_bmi, 2)}")print("="*40)print("系統執行完畢!")</code></pre>
6.心得【Python 基礎學習心得與總結】
在建立開發環境(HW01)與學習 Python 基礎語法的過程中,有幾個關鍵觀念是從「語法新手」跨越到「理解直譯器邏輯」的核心領悟:
1. 變數是「名牌」而非「盒子」:
在 Python 中,變數並不是裝資料的固定容器,而是一張貼在記憶體物件上的標籤(Name Tag)。理解這點後,就能明白為什麼串列(List)這類可變型態(Mutable)在傳遞時會影響原物件,而字串(String)與元組(Tuple)等不可變型態(Immutable)在修改時會回傳新物件。
2. 直譯器「由上至下」的執行秩序:
Python 的條件判斷式(if-elif-else)是按順序單向評估的。寫程式時必須將門檻較嚴格或範圍較小的條件放在前面,因為直譯器一旦遇到第一個條件成立(True),就會直接執行該區塊並跳過後續分支。
3. 「縮排即語法」的簡潔哲學:
與其他使用大括號 {} 的語言不同,Python 依靠嚴格的縮排(Indentation)來區分程式碼區塊(如迴圈內部或條件分支)。這迫使我們養成良好美觀的排版習慣,也體現了 Python「可讀性至上(Readable counts)」的核心哲學。
4. 資料結構的選用契機:
• 需要保留順序或按索引取值時,選用串列(List)。
• 需要快速用名稱查詢對應資料時,選用字典(Dict)。
• 需要保護資料不被修改時,則使用元組(Tuple)。
透過動手撰寫這份綜合程式,能將散落的語法片段串聯成一套有邏輯的系統,為後續的數據分析或專案開發打下堅實基礎!
6.使用心得
這次使用 Python MOOC 網站學習 Python,讓我對程式設計有更進一步的了解。網站中的課程內容有分成不同單元,從基本的變數、資料型態、條件判斷,到迴圈和函式,循序漸進地介紹 Python 的基礎觀念。
我覺得 Python MOOC 最大的優點是可以自己安排學習進度,而且每個單元都有實際的程式練習,可以在學完觀念後直接動手寫程式。剛開始使用時,有些程式碼看起來比較複雜,遇到錯誤時也不知道問題在哪裡,不過透過閱讀題目和重新檢查程式碼,可以慢慢了解錯誤的原因。
透過這次使用,我發現學習程式不能只看教學內容,實際撰寫程式和練習才是最重要的。Python 的語法相對簡單,也讓我對程式設計比較有興趣。之後如果有時間,我希望可以繼續使用 Python MOOC 學習更進階的內容,提升自己的程式能力。



















留言
張貼留言