---
title: python班講義
---
# 112學年度附中電算 Python班
---
## 第一學期上課內容
### 9/1 體驗社課暨第一堂社課
[講義在這](https://hackmd.io/@158730Andy/BJKGMLja3#/)
內容:賦值與變數、型別、輸出、輸入
課堂練習&回家作業
1. 寫出一個程式輸出"Goodbye, world..."
2. 寫出一個程式,在輸入一段話後,會輸出該段話兩次,兩次的中間還會穿插一個"UwU"
### 9/8 體驗社課暨第二堂社課
[講義在這](https://hackmd.io/@hEfWL7d7TlyAzwOSNgRR7w/B17QGUrC2#/)
內容:運算子、判斷式
課堂練習&回家作業
1. 請寫一個程式,讀入兩個數字,並求出它們的和、積(以逗號分隔)。
2. 請寫一個程式,輸入A、B、C,求出A的B次方除C
3. 判斷輸入值是否等於指示值。
### 9/15 第三堂社課
[講義在這](https://hackmd.io/@158730Andy/HJuRerek6)
內容:條件判斷、迴圈、巢狀迴圈
課堂練習&回家作業
1. 用程式做出一種特殊的減法,使得輸入兩正整數a、b後,最後的輸出結果恆為一個非正整數。
2. 練習使用巢狀迴圈,來幫我們的社長運算下式。即:輸入\\(x\\),得到\\(f(x)\\)的值
\\[f(x)=1+(1+2)+\dots+(1+2+\dots+x)\\]
先用程式暴力硬解,閒暇之餘可以嘗試證明:
\\[f(x)=\frac{1}{6}x(x+1)(x+2)\\]
### 9/22 第四堂社課
[講義在這](https://hackmd.io/@hEfWL7d7TlyAzwOSNgRR7w/SJoCXRKJa#/)
內容:for迴圈、巢狀迴圈
課堂練習&回家作業
1. 設計一個迴圈程式,幫助她算出每個分數能上哪間學校,條件如下:
初始值設定為5分,每次增加0.2分,分數超過36分停止。
(**不存在**高分低就的現象)
CK=34.6、HSNU=33.6
CG=31.6、HT=17.8
TS=12.8、YD=5.1
請幫我輸出分數和能考上的學校
2. 請輸出一個九九乘法表,若出現\\(n\times n\\),則替換為輸出低頭閉眼。
### 9/29 中秋節
### 10/6 段考前自習time
### 10/13 第五堂社課
[講義在這](https://hackmd.io/@hEfWL7d7TlyAzwOSNgRR7w/H1Z1lHUZp)
內容:for迴圈、while迴圈、break&continue、無窮迴圈
課堂練習&回家作業
1. 輸入一個正整數n,依序輸出n的平方、三次方...,直到輸出的數字大於10000停止,並輸出最大數字為n的幾次方。
2. 印出無限次I love CRC
### 10/20 社內賽
[題本](https://hackmd.io/@harrisyu/SJHRH2yza)
### 10/27 社內賽題解暨頒獎
[題解](https://hackmd.io/@158730Andy/ByqpcS-za)
### 11/3 11/10 第六、第七堂社課
[講義在這](https://hackmd.io/@158730Andy/ryBMZ_Ofa)
內容:複習型別、複習條件判斷、複習迴圈、串列(list)介紹、append、map簡介
課堂練習&回家作業
1. 已知國立臺灣師範大學附屬高級中學目前共有3個年級,高二高三皆有26班,高一有25班請創造一個串列,使得裡面有從高三第一個班一直到高一最後一個班。(已知高二的第一個班叫做1582)
2. 承練習1,運用遍歷陣列的方式,找出你的班級,並將該格的值訂為字串My Class
### 11/17 第八堂社課
[講義在這](https://hackmd.io/@hEfWL7d7TlyAzwOSNgRR7w/HkpDBdNVa)
內容:append & pop、多個變數的輸入、輸入串列、遍歷串列
課堂練習&回家作業
1. 現有一串列a=[1,5,8,8],今天想請你用迴圈判斷1到100中的奇偶數,若偵測到奇數,則將此奇數加入串列a中,若偵測到偶數則刪除串列a的第0項,最後輸出串列a
2. [兩光法師占卜術](https://zerojudge.tw/ShowProblem?problemid=a003)
3. [Eva 的回家作業](https://zerojudge.tw/ShowProblem?problemid=a005)
4. 輸入一個串列,請你印出這個串列有幾個元素
5. 現有一個串列a內有100個元素,分別為數字1-100,遍歷串列後,若偵測到完全平方數,則將那一項改為該數的正平方根,最後輸出串列a
### 11/24 段考前自習time
### 12/1 第九堂社課
[講義在這](https://hackmd.io/@hEfWL7d7TlyAzwOSNgRR7w/rk4d9yvrT)
內容:二維串列、遍歷二維串列
課堂練習&回家作業
1. 第一行輸入一個數字n,代表接下來有n行,每行輸入一個串列(元素型態皆為整數),請把每行輸入的串列,加入到另一個大串列中,最後輸出大串列
2. 承上題,請幫我把大串列裡的數字分別印出來
3. [矩陣的翻轉](https://zerojudge.tw/ShowProblem?problemid=a015)
### 12/8 迷你馬拉松
### 12/15 第十堂社課
[講義在這](https://hackmd.io/@158730Andy/By0bxfdI6)
內容:功能型函式、運算型函式、遞迴函式
課堂練習&回家作業
1. 在輸入一個正整數$N$後,請以$\texttt{for}$迴圈的方式,創建一個二維陣列,使得陣列長相如下:
$a = [[1, n], [2, n-1], \dots , [n, 1], [n+1, 0]]$
2. 承上題,請設計一個(運算型)函式$\texttt{f(h)}$,使得$\texttt{a[i]}$經過$\texttt{f(i)}$變換如下
$[j,\,k]\overset{f(i)}{\longrightarrow}[j\times k,\,k-1]$
3. 以遞迴函式實作$n^n(n \in N)$計算器
4. 以遞迴函式實作$n!(n \in N)$計算器
### 12/22 第十一堂社課
[講義在這](https://hackmd.io/@hEfWL7d7TlyAzwOSNgRR7w/Byh48cGwT)
內容:遞迴、輸入、輸出、條件判斷、迴圈、串列
課堂練習&回家作業
1. 在同一行輸入3個數字後,輸出時以","分隔
2. 在同一行輸入3個數字後,由大到小輸出並以","分隔
3. 熟悉的99乘法表,再做一次吧!
4. 輸入一個串列(整數組成),幫我輸出,全部的總和,最大的數字和最小的數字
---
## 第二學期上課內容
### 2/16 第一堂社課
[講義在這](https://hackmd.io/@158730Andy/SJ9Kx4jjp)
內容:靜態展簡介、Python語法總複習
### 2/23 第二堂社課
高二畢旅特別企劃:一日講師
[動態規劃](https://hackmd.io/@Alvin70812/dp)
[Unix Shell基本觀念](https://hackmd.io/@olivertzeng/GoofyGolfClubsIGuess)
### 3/1 第三堂社課
[連結在這](https://www.pygame.org/docs/)
[講義在這](https://hackmd.io/@hEfWL7d7TlyAzwOSNgRR7w/B1K6f1R3a)
內容:Pygame程式碼導覽、鍵盤按鍵偵測
### 3/8 畢業舞會
### 3/15 第四堂社課
[講義在這](https://hackmd.io/@158730Andy/SymBaFMTp)
內容:場景設定、物件、畫面更新與遊戲流程
### 3/22 段考前自習Time
### 3/29 第五堂社課
[講義在這](https://hackmd.io/@UbYvQ1A6RA6cnKmXxH-cng/SyobyR71C)
內容:滑鼠游標偵測、實作畫筆功能
### 4/5 清明節
### 4/12 第六堂社課
[講義在這](https://hackmd.io/@158730Andy/rJRSG_rlA)
內容:全域變數、鍵盤偵測、角色跳躍實作
### 4/19 運動會
### 4/26 八天長假假假假假假假假
### 5/3 第七堂社課
[講義在這](https://gamma.app/docs/-ne5b5gpn2osenaw)
內容:滑鼠游標偵測、實作畫筆功能
### 5/10 段考前自習Time
### 5/17 會考前放假Time
### 5/24 🎵🎶高一合唱比賽🎶🎵
### 5/30 第八堂社課