第 1 題
單選題資料型別與運算子若 a = 17,b = 5,執行 print(a // b, a % b) 的輸出為?
a, b = 17, 5
print(a // b, a % b)
A. 3 2
B. 3.4 2
C. 3 3.4
D. 2 3
正確答案
A. 3 2
為什麼?
17 // 5 = 3(整數除法,取商);17 % 5 = 2(取餘數)。
第 1 回共 38 題,從整數除法、餘數與字串切片開始,練習串列排序、條件分級及迴圈累加。情境題包含員工績效判斷、業績最大值搜尋與訂單金額輸出,並搭配函式排序題及整數輸入的例外處理。適合先檢查基礎語法,再練習逐行追蹤變數;每題附答案與文字解析。
若 a = 17,b = 5,執行 print(a // b, a % b) 的輸出為?
a, b = 17, 5
print(a // b, a % b)
A. 3 2
B. 3.4 2
C. 3 3.4
D. 2 3
A. 3 2
17 // 5 = 3(整數除法,取商);17 % 5 = 2(取餘數)。
執行下列程式碼,結果為?
print(5 > 3 and 2 < 4)
A. True
B. False
C. None
D. 產生錯誤
A. True
逐步計算後,結果為 True。
執行下列程式碼,輸出為?
s = "Python程式設計"
print(s[1:5].upper())
A. YTHO
B. Python程式設計
C. 產生錯誤
D. YTHON
A. YTHO
字串切片 s[1:5] 會取出索引 1 到 4 的字元(不含索引 5)。
執行下列程式碼,輸出為?
s = "banana"
print(s.count("a"))
A. 3
B. 4
C. 2
D. 產生錯誤
A. 3
這段程式碼執行後的結果是 3。
nums = [3, 1, 4, 1, 5],執行以下程式碼後輸出為?
nums = [3, 1, 4, 1, 5]
nums.sort()
print(nums)
A. [1, 1, 3, 4, 5]
B. [3, 1, 4, 1, 5]
C. [5, 1, 3, 4, 1]
D. [5, 4, 3, 1, 1]
A. [1, 1, 3, 4, 5]
依序執行後,結果為 [1, 1, 3, 4, 5]。
nums = [9, 2, 7],執行以下程式碼後輸出為?
nums = [9, 2, 7]
nums.append(10)
print(nums)
A. [9, 2, 7, 10]
B. [9, 2, 7]
C. [10, 2, 7, 9]
D. [2, 7, 9, 10]
A. [9, 2, 7, 10]
依序執行後,結果為 [9, 2, 7, 10]。
下列選項中,何者屬於「float」?(請選出所有正確答案)
A. 3.7
B. 5
C. "5"
D. True
E. 5.0
A. 3.7
E. 5.0
正確答案為:3.7, 5.0。
請將左側項目與右側正確的說明配對:(運算子 ↔ 功能)
左側項目
//%**not右側說明
A. 整數除法(取商)
B. 取餘數
C. 邏輯反向
D. 次方
1 → A:// → 整數除法(取商)
2 → B:% → 取餘數
3 → D:** → 次方
4 → C:not → 邏輯反向
配對詳見左右對應關係。
請將以下程式碼片段排列成正確的執行順序,使其能完成任務:「依序建立一個 list、加入元素、印出結果」
A.
nums = []
B.
nums.append(20)
C.
print(nums)
D.
nums.append(10)
A → D → B → C
nums = []
nums.append(10)
nums.append(20)
print(nums)
正確順序如上(由上到下)。
公司的員工績效考核系統要把分數轉換成等第:90分以上「優」、80~89分「甲」、70~79分「乙」、其餘「丙」。某員工本季考核分數是 85 分,執行下列程式碼,輸出的等第為?
score = 85
if score >= 90:
grade = '優'
elif score >= 80:
grade = '甲'
elif score >= 70:
grade = '乙'
else:
grade = '丙'
print(grade)
A. 甲
B. 優
C. 乙
D. 丙
A. 甲
score = 85,由上往下第一個成立的條件決定結果,答案是「甲」。
您正在撰寫一支「CPU使用率監控系統」的判斷程式,需求是:cpu >= 90 判定為「危險」,cpu >= 70(未滿90)判定為「警戒」,其餘為「正常」。若 cpu = 92,執行下列程式碼,輸出的判定結果為?
cpu = 92
if cpu >= 90:
result = '危險'
elif cpu >= 70:
result = '警戒'
else:
result = '正常'
print(result)
A. 危險
B. 警戒
C. 正常
D. 產生錯誤
A. 危險
cpu = 92,依序判斷後結果為「危險」。
公司人資系統的升遷規則:年資(years,年)需 >= 2 且績效考核分數(rating)需 >= 80 才符合升遷資格。若 years = 3、rating = 85,執行下列程式碼,輸出結果為?
years = 3
rating = 85
if years >= 2 and rating >= 80:
print('符合升遷資格')
else:
print('不符合升遷資格')
A. 符合升遷資格
B. 不符合升遷資格
C. 產生錯誤
D. None
A. 符合升遷資格
and 需要兩個條件同時成立才是 True,此例 years>=2 為True、rating>=80 為True,所以結果是「符合升遷資格」。
您正在為公司教育訓練系統撰寫巢狀判斷程式,評定測驗結果:先看 score 是否及格(>=60),及格者再看 has_bonus 是否為 True 決定是否額外加分。若 score = 85、has_bonus = True,執行下列程式碼,輸出為?
score = 85
has_bonus = True
if score >= 60:
if has_bonus:
result = '及格+加分'
else:
result = '及格'
else:
result = '不及格'
print(result)
A. 及格+加分
B. 及格
C. 不及格
D. 產生錯誤
A. 及格+加分
外層先判斷 score >= 60 是否成立,成立才會進入內層判斷 has_bonus,結果為「及格+加分」。
審核系統的門檻判斷規則:x = 60,判斷條件是 x >= 60,執行下列程式碼,輸出為?(提醒:注意 >= 是否包含等於的情況)
x = 60
if x >= 60:
print('通過')
else:
print('另一種結果')
A. 通過
B. 另一種結果
C. 產生錯誤
D. None
A. 通過
x = 60、門檻 = 60,>= 包含等於的情況,所以條件成立,輸出「通過」。
您正在開發一支自動化報表腳本,需要計算編號 1 到 10(每次跳 1)之間所有訂單編號的總和。執行以下程式碼,print(total) 的輸出為?
total = 0
for i in range(1, 11, 1):
total += i
print(total)
A. 55
B. 56
C. 54
D. 110
A. 55
range(1, 11, 1) 會產生從 1 開始、每次加 1、直到小於 11 為止的數列,加總結果為 55。
公司的系統日誌分析腳本要掃描編號 1 到 20 的紀錄,統計其中有幾筆屬於「偶數」。執行以下程式碼,print(count) 的輸出為?
count = 0
for i in range(1, 21):
if i % 2 == 0:
count += 1
print(count)
A. 10
B. 11
C. 9
D. 產生錯誤
A. 10
迴圈逐一檢查 1 到 20 之間符合「偶數」的數字,總共有 10 個。
您正在開發一支業績分析程式,nums = [3, 9, 1, 7, 5] 是各分店本月業績(萬元),需要找出業績最高的分店數字(不能用 max()),執行以下程式碼,輸出為?
nums = [3, 9, 1, 7, 5]
biggest = nums[0]
for n in nums:
if n > biggest:
biggest = n
print(biggest)
A. 9
B. 1
C. 10
D. 25
A. 9
迴圈逐一比較,只要目前的數字比 biggest 大就更新 biggest,最後得到最大值 9。
下列選項中,何者「屬於迴圈語法」?(請選出所有正確答案)
A. for i in range(5):
B. while True:
C. if x > 5:
D. def f():
A. for i in range(5):
B. while True:
正確答案為:for i in range(5):, while True:。
請將左側項目與右側正確的說明配對:(迴圈關鍵字 ↔ 作用)
左側項目
breakcontinueforwhile右側說明
A. 依條件重複執行
B. 跳過本次,繼續下一輪
C. 結束整個迴圈
D. 走訪固定範圍或序列
1 → C:break → 結束整個迴圈
2 → B:continue → 跳過本次,繼續下一輪
3 → D:for → 走訪固定範圍或序列
4 → A:while → 依條件重複執行
配對詳見左右對應關係。
請將以下程式碼片段排列成正確的執行順序,使其能完成任務:「輸入一個數字,判斷奇偶」
A.
num = int(input("請輸入數字:"))
B.
print("偶數")
C.
print("奇數")
D.
if num % 2 == 0:
E.
else:
A → D → B → E → C
num = int(input("請輸入數字:"))
if num % 2 == 0:
print("偶數")
else:
print("奇數")
正確順序如上(由上到下)。
公司人事系統要產生員工資料卡,name 是姓名、years 是年資。執行下列程式碼,輸出為?
name = "陳小美"
years = 13
print(f"{name}的年資是{years}年")
A. 陳小美的年資是13年
B. 陳小美的年資是years年
C. name的年資是13年
D. 產生錯誤
A. 陳小美的年資是13年
f-string 會把 {} 裡的變數名稱直接替換成變數目前的值。
您正在開發報表系統,想用特定符號分隔顯示各分區代碼,執行下列程式碼,輸出為?
print("A", "B", "C", sep="-")
A. A-B-C
B. A B C
C. ABC
D. 產生錯誤
A. A-B-C
print() 的 sep 參數會取代預設的空白分隔符,改用 "-" 分隔各個值。
公司的系統日誌模組要讓兩次 print 印在同一行,執行下列程式碼,輸出為?(用  代表換行)
print("Hi", end="!")
print("!")
A. Hi!!
B. Hi!
C. Hi!
D. 產生錯誤
A. Hi!!
print() 的 end 參數會取代預設的換行符號,這裡改成 "!",所以兩次 print 會接在同一行。
您正在開發公司內部系統的「客戶姓名欄位」,讓使用者輸入資料,不論實際輸入什麼,執行下列程式碼後 print(type(...)) 顯示的型別一定是?
name = input("客戶姓名:")
print(type(name))
A. <class 'str'>
B. <class 'int'>
C. <class 'float'>
D. <class 'bool'>
A. <class 'str'>
input() 回傳值一律是字串;若程式碼中有 int()/float() 轉型,型別會依轉型函式而定。
電商後台系統要印出訂單金額明細。執行下列程式碼,輸出為?
order_id = "A1001"
amount = 280
print(f"{order_id}訂單金額{amount}元")
A. A1001訂單金額280元
B. A1001訂單金額amount元
C. order_id訂單金額280元
D. 產生錯誤
A. A1001訂單金額280元
f-string 會把 {} 裡的變數名稱替換成變數的實際值。
您正在撰寫人資系統,需要公告每位員工的季度考核分數。執行下列程式碼,輸出為?
name = "哲宇"
score = 91
print(f"{name}本季考核{score}分")
A. 哲宇本季考核91分
B. 哲宇本季考核score分
C. name本季考核91分
D. 產生錯誤
A. 哲宇本季考核91分
f-string 會把 {} 裡的變數名稱替換成變數的實際值。
下列選項中,何者「輸出會是 A B」?(請選出所有正確答案)
A. print("A","B")
B. print("A","B",sep=" ")
C. print("A"+" "+"B")
D. print("A","B",sep=",")
A. print("A","B")
B. print("A","B",sep=" ")
C. print("A"+" "+"B")
正確答案為:print("A","B"), print("A","B",sep=" "), print("A"+" "+"B")。
請將左側項目與右側正確的說明配對:(print()參數 ↔ 功能)
左側項目
sepend*values右側說明
A. 改變多值間的分隔符
B. 改變結尾符號(預設換行)
C. 可傳入多個要印出的值
1 → A:sep → 改變多值間的分隔符
2 → B:end → 改變結尾符號(預設換行)
3 → C:*values → 可傳入多個要印出的值
配對詳見左右對應關係。
下列何者是合法的 Python 變數名稱?
A. score_1
B. 1score
C. 2bad
D. class
A. score_1
score_1 符合命名規則;其餘選項分別違反:不能數字開頭 / 不可用特殊符號或空白 / 不可使用保留字 class。
這是單行註解該怎麼寫?
A. <!-- 這是註解 -->
B. # 這是註解
C. * 這是註解
D. // 這是註解
B. # 這是註解
Python 使用 # 作為單行註解,''' '''或""" """作為多行註解;// 和 <!-- --> 是其他語言的寫法,Python不支援。
下列程式碼會發生什麼問題? if x > 0: print(x) print('正數')
A. SyntaxError(少了冒號)
B. 正常執行,不會有問題
C. NameError(變數未定義)
D. IndentationError(縮排不一致)
D. IndentationError(縮排不一致)
Python 用縮排(通常4個空白)表示程式區塊歸屬,同一區塊縮排必須一致,否則會產生 IndentationError。
下列選項中,何者是合法的 Python 變數名稱?(請選出所有正確答案)
A. score_1
B. 1score
C. my_var
D. my-var
E. _temp
A. score_1
C. my_var
E. _temp
合法的有:score_1, my_var, _temp;其餘違反命名規則(數字開頭/含空白或連字號/使用保留字)。
下列選項中,何者「屬於合法的 Python 註解寫法」?(請選出所有正確答案)
A. # 這是註解
B. // 這是註解
C. ''' 多行註解 '''
D. <!-- 註解 -->
A. # 這是註解
C. ''' 多行註解 '''
正確答案為:# 這是註解, ''' 多行註解 '''。
請將以下程式碼片段排列成正確的執行順序,使其能完成任務:「定義一個函式計算兩數相加並呼叫印出結果」
A.
def add(a, b):
B.
result = add(3, 4)
C.
return a + b
D.
print(result)
A → C → B → D
def add(a, b):
return a + b
result = add(3, 4)
print(result)
正確順序如上(由上到下)。
下列選項中,執行後何者「會產生錯誤」?(請選出所有正確答案)
A. int("abc")
B. 10/0
C. 10//3
D. [1,2][5]
A. int("abc")
B. 10/0
D. [1,2][5]
會出錯的是:int("abc"), 10/0, [1,2][5]。
請將左側項目與右側正確的說明配對:(錯誤型別 ↔ 發生情境)
左側項目
ZeroDivisionErrorValueErrorIndexErrorKeyError右側說明
A. int("abc")
B. [1,2,3][9]
C. 10/0
D. {"a":1}["b"]
1 → C:ZeroDivisionError → 10/0
2 → A:ValueError → int("abc")
3 → B:IndexError → [1,2,3][9]
4 → D:KeyError → {"a":1}["b"]
配對詳見左右對應關係。
請將以下程式碼片段排列成正確的執行順序,使其能完成任務:「使用try/except安全讀取整數輸入」
A.
num = int(input("請輸入整數:"))
B.
print(num)
C.
print("輸入錯誤")
D.
except ValueError:
E.
try:
E → A → B → D → C
try:
num = int(input("請輸入整數:"))
print(num)
except ValueError:
print("輸入錯誤")
正確順序如上(由上到下)。
要產生 1~6 的隨機整數(模擬骰子),需要匯入哪個模組?
A. random
B. math
C. time
D. os
A. random
import random,使用 random.randint(1,6)。