APCS Python・恢復記憶

前三週 Python 常見語法表

這一頁是解題時可以自行查閱的字典。先根據「我現在想做什麼」找到對應語法,再把範例中的變數名稱和數值改成自己的問題。

一、輸入資料

想做的事 寫法 說明
讀取一行文字 input() 得到的資料型態是文字
讀取一個整數 int(input()) 適合人數、數量、整數邊長
讀取一個小數 float(input()) 輸入即使寫成整數,也會轉為浮點數

依序讀取兩行整數:

程式碼圖片,請自行逐字輸入

題目有幾行輸入,通常就需要依序執行幾次input()。不要在input()裡加入「請輸入」等提示文字。

二、變數與指定

程式碼圖片,請自行逐字輸入

=的意思是把右邊計算出的結果存進左邊的變數,不是數學中的「左右相等」。變數名稱可以使用英文字母、數字和底線,但不能以數字開頭。

三、輸出結果

想做的事 寫法
輸出一個結果 print(answer)
輸出指定文字 print("Yes")
在同一行輸出兩個結果 print(first, second)
分成兩行輸出 寫兩次print()
程式碼圖片,請自行逐字輸入

print(a, b)會自動在兩項之間加入一個空白。輸出的大小寫、空格和行數都必須符合題目要求。

四、基本運算

運算 Python寫法 範例結果
加法 7 + 3 10
減法 7 - 3 4
乘法 7 * 3 21
一般除法 7 / 3 2.333...
整數除法 7 // 3 2
取餘數 7 % 3 1
次方 7 ** 2 49

平方根可以寫成0.5次方:

程式碼圖片,請自行逐字輸入

運算順序

Python會先算括號,再算次方、乘除,最後算加減。無法確定時,使用括號清楚表達計算順序。

程式碼圖片,請自行逐字輸入

五、比較運算

比較後的結果只有TrueFalse

意義 Python寫法
等於 a == b
不等於 a != b
大於 a > b
小於 a < b
大於或等於 a >= b
小於或等於 a <= b

=是指定資料,==才是比較兩者是否相等。

六、組合多個條件

寫法 意義
condition1 and condition2 兩個條件都成立
condition1 or condition2 至少一個條件成立
not condition 將成立與不成立反轉
程式碼圖片,請自行逐字輸入

七、條件判斷

只有成立時才做

程式碼圖片,請自行逐字輸入

成立與不成立分別處理

程式碼圖片,請自行逐字輸入

三種以上的情況

程式碼圖片,請自行逐字輸入

檢查重點:

八、for迴圈與range()

重複固定次數

程式碼圖片,請自行逐字輸入

range(5)依序產生0、1、2、3、4,共執行5次。

指定開始與結束

程式碼圖片,請自行逐字輸入

輸出2、3、4、5range()包含開始值,但不包含結束值。

指定間隔

程式碼圖片,請自行逐字輸入

第三個數字是每次增加的量,此例依序產生2、4、6、8、10

九、累加

先在迴圈外建立總和,再於每次迴圈中加入新的數值:

程式碼圖片,請自行逐字輸入

total = total + number也可以簡寫成:

程式碼圖片,請自行逐字輸入

不要把total = 0放在迴圈內,否則每次重複時都會把之前的結果清除。

十、常見錯誤速查

狀況 優先檢查
SyntaxError 冒號、括號、引號是否缺少;===是否混用
IndentationError ifelifelsefor下一行是否正確縮排
ValueError 是否用int()讀取了小數或非數字資料
答案小數不正確 是否誤用//;輸入是否應使用float()
多輸出內容 是否在input()print()加入題目未要求的提示文字
迴圈少做或多做一次 檢查range()不包含結束值
累加只剩最後一筆 初始值是否誤放在迴圈內

十一、解題時的檢查順序

確認輸入有幾行、每行是整數還是小數
→ 建立變數並讀取資料
→ 寫出計算或判斷步驟
→ 完全按照輸出格式輸出
→ 在IDLE使用範例測試
→ 儲存後提交到JMJ