arrow_back回到田野筆記
PYTHON 已發佈 4 Aug 2026

考試程式設計:高分的 Python 答案

如何在考試中寫出真正能得滿分的 Python 程式碼——結構、邊界情況和壓力下的時間管理。

考試評分者不會用偵錯器跑你的程式碼二十分鐘。他們讀一次、也許兩次,然後對照評分標準檢查。一個忽略評分標準的可運行解法仍會失分,而一個稍微不完美但命中每個檢查點的解法反而能得更高分。為考試寫 Python 程式碼是一種不同於為實際專案寫程式碼的技能,值得單獨練習。

讀評分標準,然後再讀兩次題目

大多數程式設計考試——AP CS A 風格的自由作答題、大學期中考、程式設計訓練營評估——都會公開部分加分的規則。典型的評分標準行看起來像是:「迴圈結構正確得 1 分,回傳值正確得 1 分,處理空清單情況得 1 分。」如果你寫了一個得到正確答案的濃縮單行但跳過了明確的迴圈,某些評分者會扣分,即使輸出是對的。

開始輸入任何東西之前,先識別評分者可能會分別檢查的部分:

  • 函式簽名完全符合所要求的(名稱、參數順序、回傳型別)
  • 基礎情況和遞迴情況,如果預期要遞迴
  • 迴圈邊界(差一錯誤是最常見的失分原因)
  • 邊界情況:空輸入、單元素輸入、負數、重複值

先用註解寫下這些。# handle empty list# base case: n == 0。這只需要十秒鐘,確保你不會忘記評分者特別會看的情況。

結構化程式碼以展示部分加分

比較兩個「寫一個回傳清單中第二大數字的函式」的答案:

def second_largest(nums):
    return sorted(nums)[-2]
def second_largest(nums):
    if len(nums) < 2:
        return None
    largest = second = float('-inf')
    for n in nums:
        if n > largest:
            second = largest
            largest = n
        elif n > second and n != largest:
            second = n
    return second

第一個在輸入格式良好時是正確的,但在少於兩個元素的清單上會當機,並在 [5, 5, 3] 這樣有重複值的清單上給出錯誤答案(回傳 5,依據規格也許是錯的)。第二個更長,但每個評分標準行——邊界情況、正確邏輯、正確回傳值——都是明確的,各占一行讓評分者能逐一檢查。在有時間限制的考試中,第二個版本幾乎每次都得分更高,即使它花費更長時間輸入。

不要提前優化,也不要放著明顯的漏洞

考試題目很少測試 Big-O 知識,除非他們直接說了。如果題目說「寫一個尋找重複值的函式」,嵌套迴圈達到 O(n²) 就可以了,除非題目指定了大輸入或要求高效解法。花考試時間轉換成基於集合的 O(n) 方法,當初並沒有人要求,這是你拿不回來的時間。

也就是說,某些錯誤無論評分標準如何都會扣分:

  • 不一致地使用 == 而不是 is,造成邏輯漏洞(Python 考試很少見,但在比較密集的題目中會出現)
  • 在迭代清單時改變它——for x in lst: lst.remove(x) 是經典的考試陷阱,會產生無聲的錯誤輸出
  • 忘記 return 而改成印出——許多自動評分系統檢查的是回傳值,不是標準輸出
  • range() 中的差一錯誤——range(len(nums)) 對比 range(len(nums) - 1) 每次寫的時候都值得雙檢

在提交前用手寫跡象追蹤你的程式碼

在紙本考試和大多數瀏覽器內程式碼考試中,你沒辦法執行程式碼。選一個小例子,一行一行追蹤,邊走邊寫下變數值。這在兩分鐘內能抓到大概 80% 的邏輯錯誤,這是你可以用剩餘時間做的單一最高價值的事。

對於遞迴函式,特別要追蹤至少兩層深,明確寫出基礎情況的命中。評分者常常單獨給一分就為了示範基礎情況正確終止,與遞迴情況正確的那一分分開。

像管理資源一樣管理時鐘,不是事後想到

如果自由作答部分跨三個子問題價值 9 分,大概平均分配時間,如果卡住超過那個預算就往下走——一個半完成但幾乎正確的部分 (b) 比完美的部分 (a) 加上空白的部分 (c) 值更多原始分數。即使你完成不了邏輯,也要用正確的簽名寫一個虛設函式和 pass 或一個猜測;單單正確的簽名有時本身就是評分標準中的一個分數。

如需更多關於在考試之外寫清潔、可測試的 Python,以及在這些問題中經常出現的資料結構,請查看 Korra Studio 上的相關 Python 和電腦科學段落。

本文由 AI 協助撰寫,經 Michal Pilch(CISSP)審核並發佈,Korra Studio。

準備好更進一步了嗎?

這是 Korra Studio 知識庫中的一篇筆記——該平台將每個主題與一對一的師資配對。

免費開始arrow_forward