WEEK 8 期中考複習 NOTE(Python 進階一~六)

更新 發佈閱讀 18 分鐘

114學年度下學期|電腦程式與計算分析(二)CP & CA

WEEK 8 期中考複習 NOTE(Python 進階一~六)

高分必過重點整理 💻🐍🧮🔥

一句話主線

期中考真正的主線,不是把每個語法零碎背起來,而是看到題目後,立刻判斷它屬於哪一類資料處理問題,然後套用對應模板穩定解出來。


1) 期中考範圍主線總整理

依照你前面的課程進度,期中考前主要都還在 Python 程式設計-進階 的內容,所以核心範圍大致可整理成:

  • Week 1–3:Python 基本到進階語法整合
  • Week 4:檔案處理、模組化、遞迴、多層資料結構
  • Week 5:排序、搜尋、進階資料處理、演算法入門模板
  • Week 6:國定假日前後的統整複習
  • Week 7:綜合題拆解、函式整合、除錯與模板化

也就是說,這次期中考最可能考的,不是艱深 AI 演算法,而是下面這些高頻主線:

Part A|Python 基本結構與函式

  • 輸入輸出
  • 型別轉換
  • 函式 function
  • print vs return
  • 模組化 main 架構

Part B|常見資料結構

  • list
  • dict
  • string
  • 二維 list
  • dict + list 綜合應用

Part C|常見資料處理流程

  • 排序 sorting
  • 搜尋 searching
  • 統計 counting
  • 篩選 filtering
  • 去重複 remove duplicates

Part D|進階主題

  • 檔案處理
  • 遞迴 recursion
  • list comprehension
  • 綜合題拆解
  • 除錯 debugging


2) 期中考最重要觀念


(1) 考試不是考你炫技,而是考你選對模板

很多 Python 題目表面不同,但本質其實都很像。


例如:


  • 看到很多資料,要先想 list
  • 看到次數統計,要先想 dict
  • 看到排名或大小順序,要先想 sorting
  • 看到找某元素或位置,要先想 searching
  • 看到重複處理邏輯,要先想 function
  • 看到多層資料,就要注意 索引層數
  • 看到可重複拆小的問題,要想 recursion

所以期中考最高分的關鍵,不是背很多,而是:

先分類,再下手。


(2) 很多題目不是不會,而是死在小地方

Python 題最常見的失分,不是大方向不懂,而是:

  • split() 後忘記轉 int
  • print() 和 return 混淆
  • sort() 和 sorted() 混淆
  • dict key 不存在
  • 二維 list 索引寫錯
  • 遞迴漏掉 base case
  • 排序條件 key 寫錯
  • 縮排錯一層

所以考前最重要的一句話是:

模板要熟,細節更要穩。


3) 期中必考主線 A:函式 Function


1. 函式是整份考卷的骨架

從前面幾週一路看下來,你會發現 Python 題目只要稍微長一點,就很適合拆成函式。

為什麼函式重要?

因為它可以讓你:

  • 邏輯更清楚
  • 程式更短
  • 更容易測試
  • 更容易除錯
  • 更容易重複使用


2. 基本模板一定要熟

def solve(data):


    # 處理邏輯


    return result


搭配主程式:

data = input()


result = solve(data) print(result)



3. print 和 return 一定要分清楚

print()

只是顯示結果。

return

是把值傳出去,讓外面能繼續使用。

這是期中最愛考、也最容易錯的點。


4. 經典架構

def get_data():


    return list(map(int, input().split()))


def solve(nums):     return max(nums) - min(nums)


def main():     nums = get_data()


    print(solve(nums))


main()



5. 必考陷阱

  • 函式沒寫 return
  • 以為有 print() 就等於有回傳
  • 函式拆了但參數沒傳對
  • 忘記呼叫 main()


4) 期中必考主線 B:List / Dict / String


A. List


1. List 幾乎一定考

最常用來:

  • 存資料
  • 排序
  • 搜尋
  • 切片
  • 統計
  • 篩選


2. 必會操作

nums = [3, 1, 4, 2]


print(nums[0]) print(nums[-1]) print(nums[1:3]) nums.append(5) nums.sort()



3. 常見模板

多整數輸入

nums = list(map(int, input().split()))

總和 / 平均

total = sum(nums)


avg = total / len(nums)


篩選偶數

evens = [x for x in nums if x % 2 == 0]


4. 必考陷阱

  • 索引從 0 開始
  • nums[3] 可能越界
  • sort() 直接改原資料
  • 切片右邊不包含


B. Dict


1. Dict 最常用在計數

這是超高頻題型:

  • 統計單字次數
  • 統計字元次數
  • 統計成績分佈
  • 統計數字出現次數


2. 最常考模板

items = input().split()


count = {} for x in items:     count[x] = count.get(x, 0) + 1


print(count)



3. items() 很重要

for k, v in count.items():


    print(k, v)



4. 必考陷阱

  • count[x] += 1 前沒初始化
  • 取不存在 key 會錯
  • 計數完不會轉成排序結果


C. String


1. 字串題很常搭配輸入處理

最常見操作:

  • strip()
  • split()
  • replace()
  • lower()
  • upper()
  • [::-1]


2. 超高頻模板

反轉字串

s = input().strip()


print(s[::-1])


判斷回文

s = input().strip()


print(s == s[::-1])


數字字串轉整數串列

nums = list(map(int, input().split()))


3. 必考陷阱

  • split() 後仍是字串
  • 字串不能直接改單一字元
  • 忘記 strip() 導致換行殘留


5) 期中必考主線 C:排序與搜尋


A. 排序 Sorting


1. sort() 和 sorted() 一定要分清楚

sort()

改原 list。

sorted()

回傳新 list,不改原資料。


2. 經典模板

由小到大

nums.sort()

由大到小

nums.sort(reverse=True)

依字串長度排序

sorted(words, key=len)

依 tuple 第二項排序

sorted(data, key=lambda x: x[1], reverse=True)


3. 排序高頻題

  • 成績由高到低
  • 名字依長度排序
  • 統計後依次數排序
  • Top k 題型


4. 必考陷阱

  • x = nums.sort() 會得到 None
  • reverse=True 忘記寫
  • key=lambda x: x[0] 和 x[1] 混掉


B. 搜尋 Searching


1. 必會操作

  • in
  • index()
  • max()
  • min()
  • 線性搜尋


2. 經典模板

檢查是否存在

if target in nums:


    print(nums.index(target))


else:     print(-1)


線性搜尋

def linear_search(nums, target):


    for i in range(len(nums)):


        if nums[i] == target:


            return i


    return -1



3. 必考陷阱

  • index() 找不到會報錯
  • 手動找最大值時初值亂設
  • 找到後忘記停止


6) 期中必考主線 D:檔案、遞迴、模組化


A. 檔案處理


1. 最推薦寫法

with open("data.txt", "r", encoding="utf-8") as file:


    for line in file:


        print(line.strip())



2. 必背觀念

  • "r":讀
  • "w":覆蓋寫入
  • "a":追加
  • read():整份
  • readline():一行
  • readlines():每行一個元素的 list


3. 必考陷阱

  • 檔案內容進來通常是字串
  • \n 沒去掉
  • "w" 會覆蓋原檔


B. 遞迴 Recursion


1. 核心只有兩件事

  • base case
  • recursive case


2. 階乘模板

def factorial(n):


    if n <= 1:


        return 1


    return n * factorial(n - 1)



3. 必考陷阱

  • 沒有終止條件
  • 問題沒有縮小
  • 少了 return


C. 模組化


1. 最穩架構

def get_data():


    return list(map(int, input().split()))


def solve(nums):     return sum(nums)


def main():     nums = get_data()


    print(solve(nums))


main()



2. import 基本觀念

import math


print(math.sqrt(16))



3. 必考陷阱

  • 變數名和模組名衝突
  • math.sqrt() 和 sqrt() 混用


7) 期中必考主線 E:綜合題拆解


1. 綜合題標準流程

看到較長題目時,先拆成:

Step 1:輸入

是單一值、list、多行資料,還是檔案?

Step 2:整理

需要轉 int 嗎?需要 split 嗎?需要存成 dict 嗎?

Step 3:核心處理

是要排序?搜尋?統計?篩選?去重複?

Step 4:輸出

輸出一個值,還是一整列結果?


2. 經典綜合題模板

統計單字次數並排序

words = input().split()


count = {} for w in words:     count[w] = count.get(w, 0) + 1


result = sorted(count.items(), key=lambda x: (-x[1], x[0])) for word, freq in result:     print(word, freq)


這題一次整合了:

  • split
  • dict 計數
  • items()
  • sorted
  • lambda
  • 多條件排序


3. 綜合題最容易輸的點

  • 題目沒拆就直接寫
  • 資料型別沒先轉好
  • 函式分工不清
  • 排序條件錯
  • 回傳值錯


8) 期中考最常考的大題分類


類型 1:基本輸入處理題

常考:

  • int(input())
  • input().split()
  • list(map(int, input().split()))


類型 2:函式封裝題

常考:

  • 寫一個函式完成某功能
  • 回傳結果
  • 主程式呼叫函式


類型 3:list / string 操作題

常考:

  • 總和、平均
  • 反轉
  • 回文
  • 篩選偶數
  • 最大最小


類型 4:dict 計數題

常考:

  • 單字次數
  • 字元次數
  • 出現最多次元素


類型 5:排序題

常考:

  • 數值排序
  • 字串長度排序
  • tuple / 成績排序


類型 6:搜尋題

常考:

  • 檢查是否存在
  • 找索引
  • 線性搜尋
  • 找最大最小


類型 7:綜合資料處理題

常考:

  • 多步驟整理
  • 計數後排序
  • 二維資料處理
  • 去重複保留順序


類型 8:檔案或遞迴題

若老師有教,通常會出基本型,不會太誇張。


9) 期中考前最容易失分的地方總整理


Part A|輸入與型別

1. split() 後忘記轉 int

2. 字串和整數混用

3. 多筆輸入格式看錯


Part B|函式

1. print() 和 return 混淆

2. 函式沒回傳值

3. 參數沒傳進去


Part C|資料結構

1. list 索引越界

2. dict key 不存在

3. 二維 list 索引層數錯


Part D|排序搜尋

1. sort() 和 sorted() 混淆

2. index() 找不到報錯

3. reverse=True 忘記

4. key 條件寫錯


Part E|遞迴與檔案

1. 遞迴漏掉 base case

2. 檔案內容當成數字直接算

3. "w" 和 "a" 模式搞混


10) 期中考前最後速背模板區

這一區考前一定要能默寫。


模板 1:多整數輸入

nums = list(map(int, input().split()))


模板 2:函式封裝

def solve(nums):


    return max(nums) - min(nums)



模板 3:dict 計數

count = {}


for x in items:     count[x] = count.get(x, 0) + 1



模板 4:排序

nums.sort()


nums.sort(reverse=True) sorted(words, key=len) sorted(data, key=lambda x: x[1], reverse=True)



模板 5:搜尋

if target in nums:


    print(nums.index(target))


else:     print(-1)



模板 6:list comprehension

evens = [x for x in nums if x % 2 == 0]


模板 7:遞迴

def f(n):


    if n <= 1:


        return 1


    return n * f(n - 1)



模板 8:檔案處理

with open("data.txt", "r", encoding="utf-8") as file:


    for line in file:


        print(line.strip())



11) 期中考作答 SOP

這段很重要,考前背這個就很有用。


Step 1:先分類題型

不要急著寫。

Step 2:先寫輸入模板

把資料型別先處理對。

Step 3:決定資料結構

這題該用 list、dict、string 還是二維 list?

Step 4:套對應模板

排序、搜尋、計數、遞迴、檔案,各有固定套路。

Step 5:最後檢查

  • 有沒有 return
  • 有沒有型別錯
  • 有沒有排序方向錯
  • 有沒有索引越界
  • 有沒有縮排錯


12) 期中考前 1 分鐘速讀版

這次期中考最重要的,不是把所有 Python 語法重新看一遍,而是記住每一類題目的辨識方式與固定模板。


函式重點在 print 和 return 的差別;


資料結構重點在 list、dict、string 的用途;

資料處理重點在排序、搜尋、統計與篩選;

進階題重點在檔案、遞迴與綜合題拆解。

真正高分關鍵,是看到題目先分類,再套模板,不要一開始就寫亂。


13) 一句收尾

期中考真正決勝點,不是你背多少語法,而是你能不能在 3 秒內看出這題該用哪一種 Python 模板。

 

留言
avatar-img
「2060AIHANS 애한스|頂大修課紀錄研究室」
0會員
132內容數
「2060AIHANS 애한스|修課紀錄研究室」專門紀錄我在大學修課的學習軌跡:每堂課重點推導、作業解題、實驗量測、除錯筆記與延伸閱讀,皆以工程化方式整理成可複用模板。目標是讓知識可追溯、能力可量化,並把課堂收穫轉化為可長期複利的技術資產。
2026/03/18
Week 7 的核心,是把 Python 進階語法真正轉成「期中考可上場的解題能力」,重點放在綜合題拆解、函式整合、資料處理流程、除錯觀念與可重用模板。
2026/03/18
Week 7 的核心,是把 Python 進階語法真正轉成「期中考可上場的解題能力」,重點放在綜合題拆解、函式整合、資料處理流程、除錯觀念與可重用模板。
2026/03/18
Week 6 最適合做的,不是再學一堆新東西,而是回頭把前面這些主題徹底收斂: 函式 function list / dict / string 例外處理 檔案處理 模組化 遞迴 排序 sorting 搜尋 searching 資料整理與統計 list comprehension
2026/03/18
Week 6 最適合做的,不是再學一堆新東西,而是回頭把前面這些主題徹底收斂: 函式 function list / dict / string 例外處理 檔案處理 模組化 遞迴 排序 sorting 搜尋 searching 資料整理與統計 list comprehension
2026/03/18
Week 5 的核心,是把 Python 進一步用在常見解題流程上,重點放在排序、搜尋、進階資料處理與演算法入門模板,讓你看到題目就能快速選方法。
2026/03/18
Week 5 的核心,是把 Python 進一步用在常見解題流程上,重點放在排序、搜尋、進階資料處理與演算法入門模板,讓你看到題目就能快速選方法。
看更多
你可能也想看
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
大家好,跟大家更新一下實驗第八週的情形!整體投資組合從實驗開始目前是 -3.6% 這個實驗以本週的選擇權交易所賺取的權利金作為資金來源,透過持續累積資金後,在下周一分別投入高成長的特斯拉槓桿ETF(TSLT)、數位資產代表的比特幣ETF(IBIT),以及全球多元化的ETF指數(VT)
Thumbnail
大家好,跟大家更新一下實驗第八週的情形!整體投資組合從實驗開始目前是 -3.6% 這個實驗以本週的選擇權交易所賺取的權利金作為資金來源,透過持續累積資金後,在下周一分別投入高成長的特斯拉槓桿ETF(TSLT)、數位資產代表的比特幣ETF(IBIT),以及全球多元化的ETF指數(VT)
Thumbnail
本文整理了三場超過500人的寶可夢卡牌大賽,為玩家提供最新的Meta趨勢與熱門牌組變化分析。從皮卡丘到隆隆岩,各種牌組在比賽中的表現被一一剖析,幫助玩家快速掌握賽事動態與牌組選擇。特別介紹每場比賽的冠軍牌組及其策略,讓讀者能夠明白當前競技環境的變遷及趨勢。
Thumbnail
本文整理了三場超過500人的寶可夢卡牌大賽,為玩家提供最新的Meta趨勢與熱門牌組變化分析。從皮卡丘到隆隆岩,各種牌組在比賽中的表現被一一剖析,幫助玩家快速掌握賽事動態與牌組選擇。特別介紹每場比賽的冠軍牌組及其策略,讓讀者能夠明白當前競技環境的變遷及趨勢。
Thumbnail
綠灣包裝工隊第八週在主場的比賽以30-27險勝傑克遜維爾美洲虎隊。
Thumbnail
綠灣包裝工隊第八週在主場的比賽以30-27險勝傑克遜維爾美洲虎隊。
Thumbnail
2016/7/24-7/30   由於持續高温,江蘇省有幾個市調整了夏季工作時間,下午是從三點上班到六點,午間有很長的休息時間。     上週走進大丰設計院的大院,發現有很大的蟬叫聲,週日在小區休息,蟬鳴依舊,冷氣空調卻跳機了。而廣州廠因為高温用電負荷也停電了,使得我在江蘇無法連上廣
Thumbnail
2016/7/24-7/30   由於持續高温,江蘇省有幾個市調整了夏季工作時間,下午是從三點上班到六點,午間有很長的休息時間。     上週走進大丰設計院的大院,發現有很大的蟬叫聲,週日在小區休息,蟬鳴依舊,冷氣空調卻跳機了。而廣州廠因為高温用電負荷也停電了,使得我在江蘇無法連上廣
Thumbnail
當代認知神經科學_腦與心智 清大通識第八週心得分享
Thumbnail
當代認知神經科學_腦與心智 清大通識第八週心得分享
Thumbnail
這朵花我畫了四次,畫到第四次其實也不是很滿意,不過不想再畫了。 不想再畫,不是因為氣餒,而是我看著它,看著原圖,想到其實從一開始我就不喜歡這顏色配搭,不喜歡這朵花。那一直畫下去會畫到完美的一天嗎?好像不會。 所以,該斷當斷,下個練習又是一條好漢。 停課才一週,心理上卻很累很累,累得什麼也不想做。
Thumbnail
這朵花我畫了四次,畫到第四次其實也不是很滿意,不過不想再畫了。 不想再畫,不是因為氣餒,而是我看著它,看著原圖,想到其實從一開始我就不喜歡這顏色配搭,不喜歡這朵花。那一直畫下去會畫到完美的一天嗎?好像不會。 所以,該斷當斷,下個練習又是一條好漢。 停課才一週,心理上卻很累很累,累得什麼也不想做。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News