Está en la página 1de 10

期中考解析

根據變數命名規則,判斷出被錯誤命名或使用的變數
並選擇正確的答案
(1)true = 10 (2)_list = [‘a’, b, c, ‘d’] (3) naMe = ‘ 小明’ (4) and = a + 5

4 是錯的 , and 為保留字


根據資料型態規則,判斷資料型態並選擇正確的敘述

(A) 1 、 4 是錯的
(B)3 是錯的
(C)2 是錯的
(D)都是正確的

答案是 B
在 Set 裡面不能有 list 資料
根據程式碼,選出正確的執行結果

(A) -36, 40320


(B) 0, 1
(C) 沒有結果
(D) -36, 0

答案是 B

因為 range(-9) 無法計數到 -9 ,因此 for


迴圈不會有結果,但是 ! 變數 a 與 變數
b 是在迴圈之前的宣告,所以 print 的結
果是 0,1
請問哪一個是用於產生循序數列的函式

(A) random ()
(B) renege ()
(C) rangelist ()
(D) range ()

答案是 D

答案 A 是產生隨機數值資料

B 與 C 答案並不存在
如程式碼所示,請問哪一筆資料放入 for 函式 () 內會無法執行

(A) Tuple
(B) Set
(C) Dict
(D) 皆可使用

解題關鍵是

Tuple 除了資料不可替代、覆蓋之外,特性與 list 同


而 for 迴圈是循環串列資料,所以以上皆可以使用,因為全都可以放入 Tuple 資

遵循程式碼,選出正確的執行結果
(A) ***
(B) *****
(C) */**/
(D) /////

根據 list 內存放的資料
True 時是執行 if
False 執行 else
所以答案是 C
*/**/
X 與 Y 的位置應該填入哪一段正確程式碼,使這個列印 1~10 的程式可以正常運作

答案是 C

答案 A ,在 Y 部分先執行了 print 才執行 +1 ,所以第一個數字是列印 0 ,所以錯誤


答案 B ,先 printh 才 +1 ,所以當 print 出 9 的那次循環之後 i 會加到 10 ,因此下一次
迴圈回結束 while ,因此無法列印出 10 ,所以錯誤
答案 D ,執行第一次的 print 時是 2 ,所以錯誤
遵循程式碼 , 選出正確的執行結果

(A) 1, 9, 121
(B) 1, 9, 25, 49, 81, 121, 169
(C) 1, 9, 25, 49, 81, 121, 169, 225
(D) 都是錯的

答案是 A

迴圈內部 i *= i 其實是計算平方即 i = i * i
所以程式即先平方的結果再 +2
因此是 1^2 3^2 11^2 ( 1 9 121)
121+2 超過 15 ,因此 while 迴圈結束
遵循程式碼,選出正確的執行結果
( 逗號為方便閱讀 )
(A) 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16
(B) 0, 1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 16
(C) 0, 1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17
(D) 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17

原本期中考題目是 Q8 答案是 A
但因為投影片未教連續判斷式的差異,後來要改出 Q7 的,出題時誤植
Q8 圖片,因此此題會在後端送分
Q7 答案是 B
2 , 5 , 10 , 15 都會跳過該次迴圈,所以 A 、 D 都錯誤, 17 會執行
中斷,所以不會 print ,因此 C 錯誤
遵循程式碼,此程式是一個階乘工具,請選擇正確的 X 與 Y 完成此程式,使程式可以執
行並取得正確結果 (ex: 5! = 1*2*3*4*5)

(A) X: n < num Y: total = n * total


n+=1
(B)X: n <= num Y: total = n * total
n+=1
(C)X: n <= num Y: total = n * (n-1)
n+=1
(D)X: n < num Y: total = n * (n-1)
n+=1

答案是 B
根據階乘的規則,會乘到自身數,所以條件為 n < num 無法乘到自身數,因此 A 、 D 錯誤
n*n-1 , n 每一次迴圈新增 1 ,所以推算出的 Total 是 1*0 2*1 3*2 4*3 5*4……
每次只計算 N 與前一個 N 的乘積,並不符合階乘定義,所以 C 錯誤

También podría gustarte