d = '''
► 2025 (174)
► 2024 (155)
► 2023 (21)
► 2022 (49)
► 2021 (6)
► 2020 (7)
► 2019 (24)
► 2018 (17)
'''
d = d.strip().split('\n')
d = [int((i[:-1].split('('))[1]) for i in d]
print(d)
print(sum(d))
Output:
[174, 155, 21, 49, 6, 7, 24, 17] 453
import random
d = list(range(1,25+1))
random.shuffle(d)
# print(d)
for i in range(0,25):
print(d[i],end='\t')
if (i+1)%5==0:print()
outs = [1,2,3,4,5,6,7,8,9,10]
outs = list(range(1,26))
outs = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
for out in outs:
for i in range(25):
if d[i]==out:d[i]=-d[i]
print()
for i in range(0,25):
print(d[i],end='\t')
if (i+1)%5==0:print()
c = 0
for i in range(5):
if d[0+5*i]<0 and d[1+5*i]<0 and d[2+5*i]<0 and d[3+5*i]<0 and d[4+5*i]<0:
print(d[0+5*i],d[1+5*i],d[2+5*i],d[3+5*i],d[4+5*i])
c = c + 1
for i in range(5):
if d[0+i]<0 and d[5+i]<0 and d[10+i]<0 and d[15+i]<0 and d[20+i]<0 :
print(d[0+i],d[5+i],d[10+i],d[15+i],d[20+i])
c = c + 1
if d[0]<0 and d[6]<0 and d[12]<0 and d[18]<0 and d[24]<0 :
print(d[0]<0,d[6],d[12],d[18],d[24] )
c = c + 1
if d[4]<0 and d[8]<0 and d[12]<0 and d[16]<0 and d[20]<0 :
print(d[4],d[8],d[12], d[16],d[20] )
c = c + 1
print(c,'line')
Output:
19 22 18 6 4
5 3 9 1 7
25 12 17 15 10
20 2 14 24 13
21 8 11 23 16
-19 22 -18 -6 -4
-5 -3 -9 -1 -7
25 -12 -17 -15 -10
-20 -2 -14 24 -13
21 -8 -11 23 -16
-5 -3 -9 -1 -7
-18 -9 -17 -14 -11
-4 -7 -10 -13 -16
3 line
from collections import deque
g = {
'a':['b','c'],
'b':['d'],
'c':['e','f'],
'd':['g'],
'e':[],
'f':[],
'g':[]
}
def trav_bfs(g,n,v):
q = deque([n])
v.add(n)
while q:
cnode = q.popleft()
print(cnode,end=' ')
for nn in g[cnode]:
if nn not in v:
v.add(nn)
q.append(nn)
v = set()
n = 'a'
trav_bfs(g, n, v)
# a b c d e f g
提示詞: #Instructions 你是一位英文老師,負責解釋文法並設計練習題。 #Constraints 文章限制 200 字 使用繁體中文 每個例句附上翻譯 #Input 主題:被動語態(Passive Voice)的用法 #Output 簡單定義 三個例句(英文 + 中文翻譯) 兩題練習題(附答案) AI輸出的示範結果 簡單定義 被動語態(Passive Voice)強調「動作的接受者」。 句型結構為:主詞 + be 動詞 + 過去分詞 (p.p.) + (by + 動作者)。 若動作者不重要,可省略 by 片語。 例句 The homework was finished by Tom.(這份作業被湯姆完成了。) English is spoken in many countries.(英文在許多國家被使用。) The window has been broken.(這扇窗戶已經被打破了。) 練習題 改寫成被動語態:The teacher teaches math. 答案:Math is taught by the teacher. 翻譯成英文:這本書是昨天出版的。 答案:The book was published yesterday.
提示詞:
#Context(情境) 我正在準備英文考試,常常在作文中錯用被動語態,需要更清楚的解釋與練習。
#Role(角色) 你是一位英文老師,專長是高中英文文法教學。
#Specific Question(具體問題) 請解釋「被動語態」的用法,並提供例句與練習題。
#Format(格式)
輸出需包含三部分:
1. 簡單定義
2. 三個例句(英文 + 中文翻譯)
3. 兩題練習題(附答案)
#Style(風格) 簡單、淺顯易懂,適合高中生。
#Tone(語氣) 親切、鼓勵,像家教老師一樣。
#Example(範例)
定義:現在完成式表示過去到現在的經驗。
例句:I have visited Japan twice.(我去過日本兩次。)
練習題:造 3 句現在完成式句子。
#Multi-step(多步驟)
1. 先解釋文法規則
2. 接著舉例句
3. 最後設計練習題
AI:
被動語態(Passive Voice)
簡單定義
● 結構:主詞 + be(依時態/人稱變化)+ 過去分詞 p.p.(+ by + 動作者)
● 功能:突出「動作的承受者」或「結果」,當動作者未知/不重要可省略 by + 人。
● 主動→被動三步驟:把受詞變主詞 → 動詞改 be + p.p. → 原主詞放 by 字片語或省略。
例句(英文 + 中文)
The bike was fixed (by the mechanic).
● 這台腳踏車被修好了(由技師)。
English is taught at our school.
● 我們學校有教授英文(英文被教授)。
The package has been delivered.
● 這個包裹已經被送達。
練習題(附答案)
改寫成被動:Someone stole my wallet yesterday.
● 答案:My wallet was stolen yesterday.
翻成英文(用被動):這座橋是 1990 年建成的。
● 答案:The bridge was built in 1990.
● 小提醒:
● 只能及物動詞可做被動(有受詞)。
● 時態由 be 動詞承擔(如 is/was/has been/will be),p.p. 不變。
● 若想更口語或不強調動作者,直接省略 by + 人。
CO-STAR Prompt 框架八大元素 Context(情境) ● 提供任務背景,讓 AI 知道「為什麼要做這件事」。 ● 範例:你正在準備英文考試,需要針對文法弱點進行加強。 Role(角色) ● 指定 AI 扮演的身份,影響其專業角度。 ● 範例:你是一位英文老師,專長是高中英文文法教學。 Specific Question(具體問題) ● 清楚寫出任務或問題,避免籠統。 ● 範例:請解釋現在完成式與過去完成式的差異。 Format(格式) ● 規定輸出結構(清單、表格、段落等)。 ● 範例:請以「定義、例句、練習題」三部分呈現。 Style(風格) ● 控制輸出的表達方式。 ● 範例:簡單、淺顯易懂,適合高中生。 Tone(語氣) ● 決定回答的態度與氛圍。 ● 範例:鼓勵式、親切、像家教老師一樣。 Example(範例) ● 提供參考輸出,讓 AI 模仿格式與風格。 ● 範例: 定義:現在完成式表示過去到現在的經驗。 例句:I have visited Japan twice.(我去過日本兩次。) 練習題:造 3 句現在完成式句子。 Multi-step(多步驟) ● 要求 AI 先思考步驟,再生成答案,避免跳過推理。 ● 範例: 第一步:列出文法規則 第二步:舉例句 第三步:設計練習題 小結 深津式 Prompt 側重結構簡單、好記,快速清楚。 CO-STAR Prompt 更完整,適合複雜任務或需要一致風格的場景。 建議:教學場合用深津式方便學生上手,專業產出(教材、文章、專案)則可採用 CO-STAR。
深津式 Prompt 例
Prompt:
#Instructions 你是一位程式設計老師,負責解釋程式並設計練習題。
#Constraints - 文章限制 200 字 - 使用繁體中文 - 每個程式碼附上解釋
#Input 主題:二分搜尋與線性搜尋的差異
#Output 1. 簡單定義 2. 三個例子(程長碼 + 中文解釋) 3. 練習題與答案
ChatGPT:
二分搜尋與線性搜尋的差異
簡單定義
線性搜尋:從頭到尾逐一比對,適用於未排序的資料,時間複雜度 O(n)。
二分搜尋:針對排序好的資料,透過中點切分逐步縮小範圍,時間複雜度 O(log n)。
例子
線性搜尋
def linear_search(arr, target):
for i, v in enumerate(arr):
if v == target:
return i
return -1
中文解釋:逐一比對陣列中的元素,直到找到目標或遍歷結束。
二分搜尋
def binary_search(arr, target):
left, right = 0, len(arr)-1
while left <= right:
mid = (left + right)//2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
中文解釋:每次取中點,比大小後縮小搜尋範圍。
比較範例
輸入 arr = [2,4,6,8,10], target=8
線性搜尋:第 4 次找到
二分搜尋:第 2 次找到
練習題
題目:給一個排序好的陣列 [1,3,5,7,9,11],用二分搜尋法找數字 7,過程中比較了幾次?
答案:2 次(第一次檢查 5,第二次檢查 7)。
● 造句練習
「請用單字__造 5 個句子,並提供中文翻譯。」
● 同義詞/反義詞
「請給我單字__的同義詞與反義詞,並各造一句例句。」
● 情境應用
「請幫我設計一段對話,情境是__,並用到單字__。」
● 解釋文法
「請用簡單方式解釋__文法,並舉例。」
● 造句練習
「請給我 5 個使用__文法的句子,並翻譯成中文。」
● 文法比較
「請比較__與__兩種文法的差異,並各提供例句。」
● 糾錯練習
「我寫了一句話:__。請幫我找出錯誤,修改並解釋原因。」
● 段落翻譯
「請將以下英文翻譯成中文,並逐句標註文法重點:__。」
● 文章摘要
「請將以下文章濃縮成 100 字摘要,並用中文解釋生字:__。」
● 閱讀問答
「請根據以下文章,設計 5 個理解問題,並提供答案:__。」
● 基本寫作
「請幫我寫一篇 150 字的作文,主題是__,並提供修改後的版本。」
● 句型改寫
「請將這句話改寫成三種不同表達方式:__。」
● 段落優化
「請幫我將以下段落改寫,使語氣更正式,並保持意思不變:__。」
● 角色扮演
「請模擬一位英文老師,和我進行關於__的對話,並糾正我的錯誤。」
● 口語練習
「請給我 10 個常用在__場合的口語表達,並附中文解釋。」
● 即時糾錯
「在我們的對話過程中,請即時指出我的文法錯誤並給出正確說法。」
● 題目練習
「請幫我設計 10 題關於__文法的選擇題,並提供答案解析。」
● 寫作模考
「我正在準備__考試,請出一題寫作題目,並提供範文與批改重點。」
● 模擬測驗
「請幫我做一份 20 分鐘的英文模擬測驗,包含文法題、閱讀題與寫作題。
● 解釋用
「請用簡單的方式解釋__,並舉例說明。」
(用途:學習文法、單字、概念)
● 練習用
「請設計 5 題關於__的練習題,並附上解答。」
(用途:自我練習)
● 糾錯用
「我寫了一句話:__。請幫我找出錯誤,並提供修改建議與原因。」
(用途:英文/程式寫作改錯)
● 生成初稿
「請幫我寫一篇__字的文章,主題是__,語氣__,讀者對象是__。」
● 重寫優化
「請幫我把這段文字改寫成__風格,並保持原本的意思。」
● 摘要整理
「請將以下文章濃縮為__字的摘要,保留重點與關鍵詞。」
● 程式解釋
「請逐行解釋以下程式碼,並說明它的功能:__。」
● 除錯提示
「這段程式有錯誤:__。請指出錯誤原因並提供正確寫法。」
● 程式生成
「請用__語言,寫一個__功能的程式,程式碼需附註解。」
● 任務規劃
「請幫我規劃一個__計畫,包含__步驟與時程建議。」
● 文件撰寫
「請幫我寫一封__用途的 Email,收件人是__,語氣__。」
● 會議整理
「請將以下會議紀錄整理成三大重點與後續行動清單。」
線上教材
1.介紹
https://ai4kids.ai/blogs/blog/introduction-to-python
2.彭彭的 Python 入門教學課程
https://www.youtube.com/playlist?list=PL-g0fdC5RMboYEyt6QS2iLb_1m7QcgfHk
3. python 18 小時教材
https://lt945935.blogspot.com/2025/03/python-18_37.html
4.python 官網
https://docs.python.org/zh-tw/3.13/tutorial/index.html
線上解題
1.台中女中 前30題
https://web.archive.org/web/20210919055337/http://www.tcgs.tc.edu.tw:1218/Problems?&page=1
2.中華開放教育平台 挑100題
https://oj.openedu.tw/problem
3. 瘋狂程設 挑100題
http://mcu01.arping.me/
4.zero judge 挑100題
https://zerojudge.tw/
5.LeetCode
https://leetcode.com/
Pandoc 是一個強大的 Haskell 程式庫與命令列工具,用於在多種標記語言格式之間進行文件轉換,例如 Markdown、HTML、LaTeX 和 Word docx 等。它的設計是模組化的,透過「讀取器」(readers)將文本解析為抽象語法樹(AST),再由「寫入器」(writers)將 AST 轉換為目標格式。
robocopy 是 Windows 內建的高效能檔案拷貝工具,全名為 Robust File Copy,適用於大量資料搬移與同步用途,特別在處理:
大量小檔案
巨大資料夾
網路傳輸
自動化備份
| 參數 | 中文說明 | 用途 |
|---|---|---|
%SRC% |
資料來源路徑變數 | 例如:D:\MyData |
%DEST% |
資料目的地路徑變數 | 例如:\\192.168.0.2\SharedFolder |
/MIR |
Mirror(鏡像)同步 | 將目的地變成跟來源一模一樣❗會刪除目的地中多餘檔案 |
/Z |
可中斷續傳 | 傳輸中斷(如網路掉線)可恢復接續拷貝 |
/W:1 |
每次失敗後等待 1 秒 | 遇錯重試前的等待秒數 |
/R:3 |
最多重試 3 次 | 檔案讀寫錯誤時最多嘗試幾次 |
/LOG:log.txt |
將日誌寫入 log.txt 檔案 | 可追蹤哪個檔案有成功/失敗 |
n =int(input())
s = list(range(n))
f = [int(i) for i in input().split()]
print(s)
print(f)
print()
print('正確')
v = []
for i in s:
if i not in v:
cur =i
g = []
while cur not in g:
v.append(cur)
g.append(cur)
cur = f[cur]
print(g)
print('錯誤1')
v = []
for i in s:
if i not in v:
cur =i
g = []
while cur not in g:
v.append(cur)
g.append(cur)
cur = f[cur]
print(g)
print('錯誤2')
v = []
for i in s:
if i not in v:
cur =i
g = []
while cur not in g:
v.append(cur)
g.append(cur)
cur = f[cur]
print(g)
print('錯誤3')
v = []
for i in s:
if i not in v:
cur =i
g = []
while cur not in g:
v.append(cur)
g.append(cur)
cur = f[cur]
print(g)
10
4 7 2 9 6 0 8 1 5 3
STDIN
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[4, 7, 2, 9, 6, 0, 8, 1, 5, 3]
Output:
正確
[0, 4, 6, 8, 5]
[1, 7]
[2]
[3, 9]
錯誤1
[0]
[0, 4]
[0, 4, 6]
[0, 4, 6, 8]
[0, 4, 6, 8, 5]
[1]
[1, 7]
[2]
[3]
[3, 9]
錯誤2
[0, 4, 6, 8, 5]
[1, 7]
[2]
[3, 9]
[3, 9]
[3, 9]
[3, 9]
[3, 9]
[3, 9]
[3, 9]
錯誤3
[3, 9]
ss = [0,1,2,3,4,5,6,7,8,9]
f = [4, 7, 2, 9, 6, 0, 8, 1, 5, 3]
# 1:找到第一群'
# g = []
# cur = 0
# while cur not in g:
# g.append(cur)
# cur = f[cur]
# print(g)
# 2:'找到每一群'
# for s in ss:
# g = []
# cur = s
# while cur not in g:
# g.append(cur)
# cur = f[cur]
# print(g)
# 3: '找到每一群,去重覆群'
# v = []
# for s in ss:
# g = []
# cur = s
# if s not in v:
# while cur not in g:
# g.append(cur)
# v.append(cur)
# cur = f[cur]
# print(g)
# 4: '找到每一群,去重覆群,算出共幾群'
v = []
gs = []
for s in ss:
g = []
cur = s
if s not in v:
while cur not in g:
g.append(cur)
v.append(cur)
cur = f[cur]
print(g)
gs.append(g)
print('共',len(gs),'群')
Output:
[0, 4, 6, 8, 5]
[1, 7]
[2]
[3, 9]
共 4 群
1. 了解 APCS 的重要性與目標設定
APCS(大學程式設計先修檢測)是由教育部指導、臺師大資工系執行的全國性程式設計檢定,主要評量高中職學生在邏輯推理、演算法思維與程式撰寫能力的表現,並成為各大學資訊相關科系參採的重要升學依據。目前已有超過 30 所大學、80 多個科系納入 APCS 成績,包括台大、清大、交大與成大等頂尖學校。
APCS 分為兩部分:程式識讀(筆試)與 程式實作(電腦上機)。2025 年起的新制 APCS有三大關鍵改變:
考試次數加倍:由原本每年 3 次(1月、6月、10月)調整為 每年 6 次(新增 3月、7月、11月),提供學生更高的彈性安排,並降低單次壓力。
語言選擇與實作分級:
程式識讀新增 Python 語言,讓初學者有更親切的選擇。
程式實作改採 等級制檢定,分為初級、中級、中高級與高級。考生須依照目標級分選擇相應等級,若報考較低等級,即使拿滿分也無法獲得高級分。
成績更具辨識力:程式實作除了 1~5 級分外,還會列出原始分數與報考等級,使大學更能掌握學生的實際能力,有利於備審資料與面試表現。
準備建議:
https://www.books.com.tw/products/0011022505?sloc=main
AI 提問 X 學習 X 應用:ChatGPT、NotebookLM、Gemini、GitHub Copilot從零到完全實戰
目標設定為 APCS 「程式識讀」4級分及「程式實作」3級分,主要是基於大學入學的實質需求、考試的策略性考量以及學習的可達成性。
以下是詳細的解釋:
對應大學校系的錄取門檻
提升升學競爭力與入學選擇
務實且可達成的目標
總結來說,觀念題4級、實作題3級是一個兼具競爭力與可達成性的目標,它直接對應了國內許多資訊相關學系的入學門檻,並能顯著提升學生在大學申請過程中的優勢,尤其對於希望進入國立大學的相關科系而言,是個極具價值的目標。
您好!針對 APCS「程式實作」取得三級分的準備要領,以下將根據提供的資料為您詳細說明:
自 114 學年度(2025 年)起,APCS 檢定「程式實作」科目引入了分級選擇。若您的目標是「程式實作」三級分,您可以透過以下兩種方式達成:
這表示您需要對中級或中高級所涵蓋的程式設計能力有紮實的掌握。值得注意的是,如果選擇了不符合自己程度的等級,即使取得高分也可能無法獲得理想的級分,例如報考中級並獲得滿分 300 分,也只能得到三級分。
「程式實作」主要檢測考生撰寫完整程式或副程式的能力。針對三級分的目標,您需要掌握中級與中高級所要求的內容:
要有效準備「程式實作」三級分,建議採取以下策略:
透過上述準備要領,並善用這些豐富的學習資源,您將能有效提升「程式實作」的能力,並達成三級分的目標。
程式識讀的四級分對應的分數範圍是 70-89 分。