模組一總結:你已經學會跟電腦溝通了!
恭喜你走到這裡 (ノ◕ヮ◕)ノ*:・゚✧
說真的,回想一下三節課前,你還不知道 print() 是什麼。現在,你已經能讓電腦聽你說話、幫你算數學、還能根據不同條件做出不同判斷。
這不是一小步,這是一大步。
真的值得灑花。不過好吧,我承認我學到這裡的時候,心裡想的是:「就這樣?我以為程式很難耶。」——然後模組二就把我打回原形了 (´ཀ`」 ∠) )
不過別擔心,你現在的基礎已經比當時的我好多了。
在往前衝之前,讓我們先回頭看看走了多遠。三節課下來,你其實已經累積了不少技能。把這些東西攤開來看,會比你想像的多。
模組一知識地圖
讓我們把這三節學到的東西,用一張圖串起來:

📷 圖 13:模組一知識地圖資訊圖表(AI 製圖)
看完地圖,有沒有覺得「哇,原來我已經會這麼多了」?接下來做個小自測,不是考試那種:是給你自己確認用的。
自我檢查表
對照下面的清單,看看你是不是每一項都掌握了:
| # | 能力 | 你會了嗎? |
|---|---|---|
| 1 | 我知道什麼是 IPO 思維,而且能用它來分析 Judge 題目 | ☐ |
| 2 | 我能用 print() 印出文字和計算結果 | ☐ |
| 3 | 我能用 input() 讀取使用者輸入 | ☐ |
| 4 | 我知道 input() 讀進來的永遠是字串,需要用 int() 轉換 | ☐ |
| 5 | 我能建立變數、知道 = 是指派不是等於 | ☐ |
| 6 | 我能分辨 int、float、str 三種型別 | ☐ |
| 7 | 我會用 + - * / // % 做運算 | ☐ |
| 8 | 我知道 == 和 = 的差別 | ☐ |
| 9 | 我能用 and、or、not 組合布林條件 | ☐ |
| 10 | 我能寫 if-elif-else 讓程式根據條件做不同的事 | ☐ |
| 11 | 我知道 Python 的縮排(indentation)是有意義的 | ☐ |
| 12 | 我能畫簡單的流程圖來整理判斷邏輯 | ☐ |
| 13 | 我理解 Python 的「由內而外」求值順序(例如 print(1+1) 先算再印、int(input()) 先讀再轉) | ☐ |
如果 13 項全勾了,你已經完全準備好進入模組二了。
如果有幾項不確定,回去對應的章節重新看一次,然後再做一次 Judge 題目。學程式沒有捷徑,但每一次練習都是在進步。
所以不要灰心,你已經在路上了。
自我檢查過了,觀念也都到位了。但真正的考驗是:能不能把分散在三節裡的技能,串在同一支程式裡一起用?來試試看吧。
模組一畢業考:來一道綜合題吧!
檢查表全勾了?太好了,那來驗收一下 (ノ>ω<)ノ
接下來這道題,會用到你在模組一學到的所有技能:
- 1-1 的
input()和print()(I/O) - 1-2 的
//和%(整數除法和取餘數) - 1-3 的
if-else(條件判斷)
如果你能獨立解開這題,就代表你已經真正掌握了模組一的所有核心觀念。
自動販賣機找零
問題情境:小威在學校福利社打工,負責操作一台自動找零機。福利社生意不錯,下課時間一到就會湧進一大群同學買飲料和零食,結帳速度必須很快。每次顧客投錢買東西,機器就要自動判斷錢夠不夠,如果夠的話,還要計算要找多少錢,並且盡量用大面額的硬幣,讓顧客拿到的硬幣數量最少,這樣也能減少零錢不夠找的狀況。小威想寫一支程式來模擬這台機器,但他不確定怎麼把「找零的邏輯」變成程式碼。你能幫他嗎?
🔍 思考引導:
🧩 把大問題拆成小問題...
這題乍看很複雜,但可以分成幾個步驟:
- 第一步 — 判斷金額是否足夠:比較投入金額和商品價格,決定要繼續找零還是直接結束。
- 第二步 — 計算找零總金額:用投入金額減去商品價格,得到需要找回的總金額。
- 第三步 — 計算各面額硬幣數量:從最大面額(50 元)開始,一層一層往下算,這一步要怎麼做?
- 第四步 — ???:算完一種硬幣之後,剩下的零錢怎麼辦?繼續拿去算下一種面額嗎?
每個步驟單獨來看都不難,難的是把它們串起來!
💭 如果用數學來表達...
假設找零總金額是 C,找零的過程可以這樣表示:
其中
、 、 、 分別是各面額的硬幣數量, 、 、 是每次除完之後的餘數(也就是「還沒被找掉的金額」)。 想想看:Python 裡的哪兩個運算子,剛好對應到「整除」和「取餘數」?
輸入格式:
- 第一行:正整數 P,代表投入金額(元)(1 ≤ P ≤ 10000)
- 第二行:正整數 Q,代表商品價格(元)(1 ≤ Q ≤ 10000)
輸出格式:
- 若 P < Q:輸出一行
金額不足 - 若 P ≥ Q:共輸出五行:
- 第一行:找零金額
- 第二行:50 元硬幣數量
- 第三行:10 元硬幣數量
- 第四行:5 元硬幣數量
- 第五行:1 元硬幣數量
範例一:
| 輸入 | 輸出 |
|---|---|
100 | 34 |
66 | 0 |
3 | |
0 | |
4 |
範例說明:
- 第一步:投入 100 元,商品 66 元,100 ≥ 66,金額足夠。
- 第二步:找零金額 = 100 − 66 = 34 元。
- 第三步:50 元硬幣 = 34 ÷ 50 = 0 枚,剩餘 34 元。
- 第四步:10 元硬幣 = 34 ÷ 10 = 3 枚,剩餘 4 元。
- 第五步:5 元硬幣 = 4 ÷ 5 = 0 枚,剩餘 4 元。
- 第六步:1 元硬幣 = 4 枚。
- 最終輸出:第一行
34,接著0、3、0、4。
範例二:
| 輸入 | 輸出 |
|---|---|
50 | 金額不足 |
80 |
老師的提示
找零的核心在於「剝洋蔥」:每算完一種面額,就用 % 取出剩餘金額,再把剩餘金額拿去算下一種面額。還記得 // 是整除、% 是取餘數嗎?把這兩個運算子搭配使用,從 50 元一路剝到 1 元,答案就出來了。
搞定了嗎?不管結果如何,走到這裡就已經很了不起了。
好了,模組一的東西你都掌握了嗎?不管怎樣,讓我先偷偷告訴你模組二要學什麼——光是想到就覺得很帥。
模組二預告:整理與征服大資料
你現在能跟電腦一問一答了。但如果有 100 筆資料要處理呢?
- 讀 100 個學生的成績 → 寫 100 次
int(input())? - 找出最高分是誰 → 寫 100 個
if?
當然不是。
模組二會教你兩個超級強大的新武器:
- 迴圈(Loop):讓電腦幫你重複做同一件事,不管是 100 次還是 10000 次
- 串列(List):把一堆資料整整齊齊地排成一排,想取哪個就取哪個
有了這兩招,你就能處理「大量資料」,而不是只能一筆一筆硬幹。

📷 圖 14:100 行 input 對比迴圈 3 行的四格漫畫(AI 製圖)
到這裡,模組一「與電腦溝通的基礎」就正式完結了。
你從零開始,學會了讓電腦說話、聽話、記東西、算數學、做判斷。這些是所有程式語言的基礎中的基礎,不管你以後學什麼語言,這些觀念都是通用的。
模組二見。加油 (๑•̀ㅂ•́)و✧