- 高級中等學校商業類程式設計技藝競賽
Python程式設計學科模擬試題
運算與迴圈基礎
1. 執行以下 Python 程式片段,其結果為何?
a, s = 50, 0
while a > 0:
s += a % 5
a = a // 3
print(s % 4)
(A) 0 (B) 1 (C) 2 (D) 3
2. 執行以下 Python 程式片段,其結果為何?
x = 12
y = 4
result = (x >> 2) + (y << 2)
print(result % 4)
(A) 1 (B) 2 (C) 3 (D) 0
3. 執行以下 Python 程式片段,其結果為何?
x = 2
for i in range(2):
x = x * (i + 2)
print(x % 4)
(A) 0 (B) 1 (C) 2 (D) 3
4. 執行以下 Python 程式片段,其結果為何?
b = 15
while b > 2:
b -= 4
print(b % 4)
(A) 0 (B) 1 (C) 2 (D) 3
5. 執行以下 Python 程式片段,其結果為何?
cnt = 0
data = [10, 20]
for i in data:
for j in data:
if i == j:
cnt += 2
print(cnt % 4)
(A) 0 (B) 1 (C) 2 (D) 3
6. 執行以下 Python 程式片段,其結果為何?
x = 0
for i in range(3):
x += (i + 1) ** 2
print(x % 4)
(A) 2 (B) 3 (C) 0 (D) 1
7. 執行以下 Python 程式片段,其結果為何?
n = 4
s = 0
for i in range(1, n):
s += i * 3
print(s % 4)
(A) 2 (B) 3 (C) 0 (D) 1
8. 執行以下 Python 程式片段,其結果為何?
x = 2
for i in range(2):
x = (x * 2 + 1) % 5
print(x)
(A) 0 (B) 1 (C) 2 (D) 3
9. 執行以下 Python 程式片段,其結果為何?
a = 23
b = 7
while a >= b:
a -= b
print(a % 4)
(A) 0 (B) 1 (C) 2 (D) 3
進階流程控制
10. 執行以下 Python 程式片段,其結果為何?
n = 0
for i in range(8):
if i % 3 == 1:
n += i
print(n % 4)
(A) 1 (B) 2 (C) 3 (D) 0
11. 執行以下 Python 程式片段,其結果為何?
a, b = 2, 8
steps = 0
while b > a:
b -= 1
a += 2
steps += 1
print(steps % 4)
(A) 1 (B) 2 (C) 3 (D) 0
12. 執行以下 Python 程式片段,其結果為何?
nums = list(range(1, 10, 3))
s = 0
for i, v in enumerate(nums):
if v % 2 != 0:
s += i
print(s % 4)
(A) 0 (B) 1 (C) 2 (D) 3
13. 執行以下 Python 程式片段,其結果為何?
x = 0
for i in range(1, 6):
if i == 3:
continue
x += 1
if x == 3:
break
print(x % 4)
(A) 1 (B) 2 (C) 3 (D) 0
14. 執行以下 Python 程式片段,其結果為何?
s = 0
val = 3
for i in range(3):
s += val
val -= 1
print(s % 4)
(A) 0 (B) 1 (C) 2 (D) 3
15. 執行以下 Python 程式片段,其結果為何?
i = 1
total = 0
while i <= 2:
for j in range(i):
total += (i * j)
i += 1
print(total % 4)
(A) 0 (B) 1 (C) 2 (D) 3
16. 執行以下 Python 程式片段,其結果為何?
x = 0
for i in range(10):
if i % 2 != 0:
x += 1
if x > 2:
break
print(x % 4)
(A) 1 (B) 2 (C) 3 (D) 0
遞迴、資料結構與邏輯
17. 執行以下 Python 程式片段,其結果為何?
def calc(x):
if x <= 1:
return 2
return calc(x - 1) + 2
print(calc(3) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
18. 執行以下 Python 程式片段,其結果為何?
def g(n):
if n <= 1: return 1
return g(n-1) + g(n-2)
print(g(4) % 4)
(A) 1 (B) 2 (C) 3 (D) 0
19. 執行以下 Python 程式片段,其結果為何?
s1 = "radar"
s2 = "apple"
r1 = "YES" if s1 == s1[::-1] else "NO"
r2 = "YES" if s2 == s2[::-1] else "NO"
print(f"{r1} {r2}")
(A) YES YES (B) YES NO (C) NO YES (D) NO NO
20. 執行以下 Python 程式片段,其結果為何?
dp = [0] * 4
dp[0] = 2
for i in range(1, 4):
dp[i] = dp[i-1] * 2
print(dp[3] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
21. 執行以下 Python 程式片段,其結果為何?
s = "banana"
count = s.count("a")
print(count % 4)
(A) 1 (B) 2 (C) 3 (D) 0
22. 執行以下 Python 程式片段,其結果為何?
str1 = "9 5 2 7 2 5"
nums = sorted(set(map(int, str1.split())))
print(len(nums) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
23. 執行以下 Python 程式片段,其結果為何?
a, b = 10, 5
A1 = a > b or b > 10
A2 = a < 20 and b == 5
print(f"{A1} {A2}")
(A) True True (B) False False (C) True False (D) False True
24. 執行以下 Python 程式片段,其結果為何?
nums = [2, 4, 8, 10]
A1 = all(n % 2 == 0 for n in nums)
A2 = any(n > 10 for n in nums)
print(f"{A1} {A2}")
(A) True True (B) False False (C) True False (D) False True
25. 執行以下 Python 程式片段,其結果為何?
nums = [1, 2, 3]
A1 = any(n < 0 for n in nums)
A2 = all(n > 0 for n in nums)
print(f"{A1} {A2}")
(A) True True (B) False False (C) True False (D) False True
Python程式設計學科模擬試題
一、 基礎運算與流程控制
1. 執行以下 Python 程式片段,其結果為何?
x = 7; y = 2
print((x ** y) // 5 % 4)
(A) 0 (B) 1 (C) 2 (D) 3
2. 執行以下 Python 程式片段,其結果為何?
a = [2, 4, 6, 8]
b = [1, 2, 1, 2]
total = 0
for i in range(4):
total += a[i] // b[i]
print(total % 4)
(A) 0 (B) 1 (C) 2 (D) 3
3. 執行以下 Python 程式片段,其結果為何?
count = 0
for i in range(2, 5):
for j in range(i):
count += 1
print(count % 4)
(A) 1 (B) 2 (C) 3 (D) 0
4. 執行以下 Python 程式片段,其結果為何?
a = 15; b = 4
while a >= b:
a -= b
print(a % 4)
(A) 1 (B) 2 (C) 3 (D) 0
5. 執行以下 Python 程式片段,其結果為何?
a, b = 10, 3
res = 0
while a > 0:
res += a % b
a -= 2
print(res % 4)
(A) 0 (B) 1 (C) 2 (D) 3
二、 函數與遞迴
6. 執行以下 Python 程式片段,其結果為何?
def func(n):
if n <= 1: return 1
return n * func(n-1)
print(func(4) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
7. 執行以下 Python 程式片段,其結果為何?
def check(x):
if x % 2 == 0: return x // 2
else: return x * 3
print(check(check(3)) % 4)
(A) 1 (B) 2 (C) 3 (D) 0
8. 執行以下 Python 程式片段,其結果為何?
def mystery(n):
if n == 0: return 0
return (n % 10) + mystery(n // 10)
print(mystery(123) % 4)
(A) 1 (B) 2 (C) 3 (D) 0
三、 字串處理與串列生成式
9. 執行以下 Python 程式片段,其結果為何?
s = "Python"
res = s[::-1][1:4]
print(len(res) % 4)
(A) 1 (B) 2 (C) 3 (D) 0
10. 執行以下 Python 程式片段,其結果為何?
vals = [i for i in range(1, 10) if i % 3 == 0]
print(sum(vals) % 4)
(A) 2 (B) 3 (C) 0 (D) 1
11. 執行以下 Python 程式片段,輸出為何?
txt = "level"
print('YES' if txt == txt[::-1] else 'NO', end=" ")
txt2 = "apple"
print('YES' if txt2 == txt2[::-1] else 'NO')
(A) YES YES (B) NO NO (C) YES NO (D) NO YES
四、 位元運算與邏輯判斷
12. 執行以下 Python 程式片段,其結果為何?
x = 12 # 二進制 1100
y = 5 # 二進制 0101
print((x & y) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
13. 執行以下 Python 程式片段,其結果為何?
a = 8
res = (a >> 2) + (a << 1)
print(res % 4)
(A) 2 (B) 3 (C) 0 (D) 1
14. 執行以下 Python 程式片段,其結果為何?
a, b = 15, 20
c1 = (a > 10 and b < 25)
c2 = (a > 20 or b == 20)
print(f"{c1} {c2}")
(A) True True (B) False False (C) True False (D) False True
五、 進階演算法與資料結構
15. 執行以下 Python 程式片段,其結果為何?
data = [10, 20, 30, 40, 50]
avg = sum(data) / len(data)
res = [x for x in data if x > avg]
print(len(res) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
16. 執行以下 Python 程式片段,其結果為何?
a = [1, 3, 5]
b = [2, 4, 6]
c = [x + y for x, y in zip(a, b) if (x+y) % 2 == 0]
print(len(c) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
17. 執行以下 Python 程式片段(費氏數列變體),其結果為何?
dp = [0] * 6
dp[0], dp[1] = 1, 1
for i in range(2, 6):
dp[i] = dp[i-1] + dp[i-2]
print(dp[5] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
18. 執行以下 Python 程式片段(二維陣列),其結果為何?
mat = [[i*j for j in range(3)] for i in range(3)]
print(mat[2][2] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
19. 執行以下 Python 程式片段,其結果為何?
total = 0
for i in range(1, 4):
for j in range(1, 4):
if i == j: continue
total += 1
print(total % 4)
(A) 1 (B) 2 (C) 3 (D) 0
20. 執行以下 Python 程式片段,其結果為何?
s = {1, 2, 3}
s.add(2)
s.update([3, 4, 5])
print(len(s) % 4)
(A) 1 (B) 2 (C) 3 (D) 0
六、 綜合邏輯與數學
21. 執行以下 Python 程式片段,其結果為何?
n = 10
res = n * (n + 1) // 2
print(res % 4)
(A) 1 (B) 2 (C) 3 (D) 0
22. 執行以下 Python 程式片段,其結果為何?
a = 1
for i in range(1, 5):
a *= i
print(a % 4)
(A) 0 (B) 1 (C) 2 (D) 3
23. 執行以下 Python 程式片段,其結果為何?
total = sum([i**2 for i in range(1, 4)])
print(total % 4)
(A) 1 (B) 2 (C) 3 (D) 0
24. 執行以下 Python 程式片段,其結果為何?
x = 5
x += x << 1
print(x % 4)
(A) 1 (B) 2 (C) 3 (D) 0
25. 執行以下 Python 程式片段,其結果為何?
def f(a, b):
return a if a > b else b
print(f(f(5, 8), 6) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
Python程式設計學科模擬試題
一、 基礎運算與邏輯控制
1. 執行以下 Python 程式片段,其結果為何?
Ans = 45 ^ 15 & 22
print(Ans % 4)
(A) 0 (B) 1 (C) 2 (D) 3
2. 執行以下 Python 程式片段,其結果為何?
print(sum(range(2, 10, 2)) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
3. 執行以下 Python 程式片段,其結果為何?
a = 20
def fn_1():
global a
a = 5
def fn_2():
a = 10
fn_2()
fn_1()
print(a % 4)
(A) 0 (B) 1 (C) 2 (D) 3
4. 執行以下 Python 程式片段,其結果為何?
a, b = [1, 2], [1, 2]
c = a
res = [a is b, a == c]
print(res.count(True) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
5. 執行以下 Python 程式片段,其結果為何?
x = 10 if 5 > 3 else 20
y = 5 if 10 < 2 else 15
print((x + y) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
6. 執行以下 Python 程式片段,其結果為何?
count = 0
for i in range(1, 6):
if i % 2 == 0:
continue
count += i
print(count % 4)
(A) 0 (B) 1 (C) 2 (D) 3
7. 執行以下 Python 程式片段,其結果為何?
a = 100
b = a >> 3
print(b % 4)
(A) 0 (B) 1 (C) 2 (D) 3
二、 複合資料型態 (Set, List, Dict)
8. 執行以下 Python 程式片段,其結果為何?
a = {1, 3, 5, 7, 9}
b = {1, 2, 3, 4, 5}
c = a - b
print(len(c) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
9. 執行以下 Python 程式片段,其結果為何?
a = {1, 2, 3}
b = {3, 4, 5}
c = a ^ b
print(len(c) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
10. 執行以下 Python 程式片段,其結果為何?
d = {"apple": 3, "banana": 5, "cherry": 7}
d["apple"] = 1
d.update({"date": 4})
print(sum(d.values()) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
11. 執行以下 Python 程式片段,其結果為何?
data = [1, 2, 3, 1, 2, 1]
res = {x: data.count(x) for x in set(data)}
print(res[1] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
12. 執行以下 Python 程式片段,其結果為何?
arr = [i * 2 for i in range(5)]
print(arr[3] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
13. 執行以下 Python 程式片段,其結果為何?
s = "python_programming"
print(s.count('p') % 4)
(A) 0 (B) 1 (C) 2 (D) 3
14. 執行以下 Python 程式片段,其結果為何?
nums = [10, 20, 30, 40, 50]
sub = nums[1:4]
print(len(sub) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
三、 遞迴與函式應用
15. 執行以下 Python 程式片段,其結果為何?
def f(n):
if n <= 1: return 1
return n * f(n-1)
print(f(4) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
16. 執行以下 Python 程式片段,其結果為何?
def fib(n):
if n <= 2: return 1
return fib(n-1) + fib(n-2)
print(fib(7) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
17. 執行以下 Python 程式片段,其結果為何?
def g(a, b):
if b == 0: return a
return g(b, a % b)
print(g(18, 12) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
18. 執行以下 Python 程式片段,其結果為何?
def solve(n):
if n < 3: return n
return solve(n-1) + solve(n-3)
print(solve(5) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
四、 進階迴圈與動態規劃邏輯
19. 執行以下 Python 程式片段,其結果為何?
x = 0
for i in range(3):
for j in range(i):
x += j
print(x % 4)
(A) 0 (B) 1 (C) 2 (D) 3
20. 執行以下 Python 程式片段,其結果為何?
s = 0
a = 123
while a > 0:
s += a % 10
a //= 10
print(s % 4)
(A) 0 (B) 1 (C) 2 (D) 3
21. 執行以下 Python 程式片段,其結果為何?
dp = [0] * 6
dp[0], dp[1] = 1, 1
for i in range(2, 6):
dp[i] = dp[i-1] + dp[i-2]
print(dp[5] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
22. 執行以下 Python 程式片段,其結果為何?
total = 0
for i in range(1, 5):
for j in range(1, i + 1):
total += 1
print(total % 4)
(A) 0 (B) 1 (C) 2 (D) 3
23. 執行以下 Python 程式片段,其結果為何?
a = [1, 2, 3]
b = [4, 5, 6]
c = [x + y for x, y in zip(a, b)]
print(sum(c) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
24. 執行以下 Python 程式片段,其結果為何?
n = 10
m = 7
while n != m:
if n > m: n -= m
else: m -= n
print(n % 4)
(A) 0 (B) 1 (C) 2 (D) 3
25. 執行以下 Python 程式片段,其結果為何?
ans = 1
for i in range(1, 4):
ans = (ans + i) * 2
print(ans % 4)
(A) 0 (B) 1 (C) 2 (D) 3
Python程式設計學科模擬試題
第一部分:位元與邏輯運算
1. 執行以下 Python 程式片段,其結果為何?
a, b = 13, 21
print(a | b)
(A) 21 (B) 25 (C) 29 (D) 31
2. 執行以下 Python 程式片段,其結果為何?
print(14 & 7)
(A) 6 (B) 7 (C) 14 (D) 0
3. 執行以下 Python 程式片段,其結果為何?(說明:^ 為 XOR)
print(1^0^1^1, end="")
print(0^0^1^1)
(A) 10 (B) 01 (C) 11 (D) 00
4. 執行以下 Python 程式片段,其結果為何?
print(sum(range(5)) % 3)
(A) 0 (B) 1 (C) 2 (D) 3
5. 執行以下 Python 程式片段,其結果為何?
print((123 % 11) % 5)
(A) 0 (B) 1 (C) 2 (D) 3
6. 執行以下 Python 程式片段,其結果為何?(說明:^ 為 XOR)
x, y = 10, 5
x = x ^ y
y = x ^ y
x = x ^ y
print(x, y)
(A) 10 5 (B) 5 10 (C) 15 15 (D) 0 0
7. 執行下列 Python 程式片段,其輸出結果有幾個為 4?
print(16 >> 2); print(9 >> 1); print(4 << 0); print(35 >> 3); print(20 >> 2)
(A) 2 (B) 3 (C) 4 (D) 5
第二部分:迴圈與列表操作
8. 執行以下 Python 程式片段,其結果為何?
vals = [i for i in range(1, 6)]
print(sum(vals) % 5)
(A) 0 (B) 1 (C) 2 (D) 3
9. 執行以下 Python 程式片段,其結果為何?
ans = 1
for i in range(1, 4):
ans = ans + ans * i
print(ans % 10)
(A) 0 (B) 2 (C) 4 (D) 6
10. 執行以下 Python 程式片段,其結果為何?
c = 0
for i in range(1, 6):
c += i % 2
print(c % 3)
(A) 0 (B) 1 (C) 2 (D) 3
11. 執行以下 Python 程式片段,其結果為何?
a = 20
b = 7
while a % b != 0:
b -= 1
print(b % 3)
(A) 0 (B) 1 (C) 2 (D) 3
12. 執行以下 Python 程式片段,其結果為何?
j, n = 0, 5
for i in range(n):
for k in range(i):
j += 1
print(j % 5)
(A) 0 (B) 1 (C) 2 (D) 3
13. 執行下列 Python 程式片段,輸出結果為何?
a = [[0]*3 for _ in range(3)]
for i in range(1, 3):
for j in range(1, 3):
a[i][j] = a[i-1][j-1] + i * j
print(a[2][2])
(A) 4 (B) 5 (C) 6 (D) 9
14. 執行以下 Python 程式片段,其結果為何?
t = 0
for i in range(2):
for j in range(5):
t += 1
print(t % 6)
(A) 0 (B) 2 (C) 4 (D) 5
15. 執行以下 Python 程式片段,其結果為何?
t = 0
for i in range(4):
for j in range(i, 4):
t += 1
print(t % 7)
(A) 3 (B) 4 (C) 5 (D) 6
第三部分:綜合邏輯與演算法
16. 執行以下 Python 程式片段,其結果為何?
print(len(range(2, 12, 3)))
(A) 3 (B) 4 (C) 10 (D) 11
17. 執行以下 Python 程式片段,其結果為何?
total, i = 0, 0
while i < 3:
i += 1
for j in range(1, i + 1):
total += 1 if j % 2 == 1 else 2
print(total)
(A) 6 (B) 7 (C) 8 (D) 9
18. 執行以下 Python 程式片段,其結果為何?
a, s = 45, 0
while a > 0:
s += a % 8
a = a // 8
print(s)
(A) 10 (B) 13 (C) 45 (D) 5
19. 執行以下 Python 程式片段,其結果為何?
score = [50, 70, 85, 40, 95]
c1, c2 = 0, 0
for s in score:
if s >= 60: c1 += 1
if s < 60: c2 += 1
print(c1 - c2)
(A) 1 (B) 2 (C) 3 (D) 5
20. 執行以下 Python 程式片段,其結果為何?
count = 0
data = [1, 2]
for i in range(len(data)):
for j in range(len(data)):
for k in range(len(data)):
if data[i] == data[j]: count += 1
print(count)
(A) 4 (B) 8 (C) 16 (D) 2
21. 執行以下 Python 程式片段,其結果為何?
dp = [0] * 6
dp[0], dp[1] = 1, 1
for i in range(2, 6):
dp[i] = dp[i-1] + dp[i-2]
print(dp[5])
(A) 5 (B) 8 (C) 13 (D) 21
22. 執行以下 Python 程式片段,其結果為何?
a, b = 15, 10
while a != b:
if a > b: a = a - b
else: b = b - a
print(a)
(A) 1 (B) 3 (C) 5 (D) 15
23. 執行以下 Python 程式片段,其結果為何?
m = [[1, 2], [3, 4]]
res = 0
for i in range(2):
res += m[i][i]
print(res)
(A) 3 (B) 4 (C) 5 (D) 7
24. 執行以下 Python 程式片段,其結果為何?
s, i = 0, 1
while i <= 10:
if i % 3 == 0:
s += i
i += 1
print(s)
(A) 18 (B) 9 (C) 15 (D) 30
25. 執行以下 Python 程式片段,其結果為何?
a, b = 24, 18
while b > 0:
a, b = b, a % b
print(a)
(A) 2 (B) 4 (C) 6 (D) 8
Python程式設計學科模擬試題
1. 執行以下 Python 程式片段,其結果為何?
a = -5
b = 11
print(((a & b) ^ (a | b)) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
2. 執行以下 Python 程式片段,其結果為何?
x = 0x5A
y = 0x3C
result = (x ^ y) >> 2 << 1
print(result % 4)
(A) 0 (B) 1 (C) 2 (D) 3
3. 執行以下 Python 程式片段,其結果為何?
total = 0
for i in range(1, 6):
for j in range(5, i, -1):
for k in range(0, j, 2):
total += 1
print(total % 4)
(A) 0 (B) 1 (C) 2 (D) 3
4. 執行以下 Python 程式片段,其結果為何?
count = 0
for i in range(1, 20):
if i % 2 == 0 or i % 3 == 0:
if i % 6 != 0:
count += i
print(count % 4)
(A) 0 (B) 1 (C) 2 (D) 3
5. 執行以下 Python 程式片段,其結果為何?
def solve(n):
if n <= 1:
return 1
if n % 2 == 0:
return solve(n // 2) + 1
else:
return solve(n - 1) + solve(n - 2)
print(solve(6) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
6. 執行以下 Python 程式片段,其結果為何?
memo = {}
def f(x, y):
if (x, y) in memo: return memo[(x, y)]
if x == 0 or y == 0: return 1
memo[(x, y)] = f(x - 1, y) + f(x, y - 1)
return memo[(x, y)]
print(f(3, 3) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
7. 執行以下 Python 程式片段,其結果為何?
lst = [[i * j for j in range(4)] for i in range(4)]
ans = sum([lst[i][3 - i] for i in range(4)])
print(ans % 4)
(A) 0 (B) 1 (C) 2 (D) 3
8. 執行以下 Python 程式片段,其結果為何?
s = "AByzCDxwEF"
res = s[1:8:2] + s[-2:-9:-3]
print(len(res) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
9. 執行以下 Python 程式片段,其結果為何?
a, b = 104, 48
while b > 0:
a, b = b, a % b
print(a % 4)
(A) 0 (B) 1 (C) 2 (D) 3
10. 執行以下 Python 程式片段,其結果為何?
data = [3, 7, 11, 15, 19, 23, 27, 31, 35]
target = 25
low, high = 0, len(data) - 1
count = 0
while low <= high:
count += 1
mid = (low + high) // 2
if data[mid] == target:
break
elif data[mid] < target:
low = mid + 1
else:
high = mid - 1
print((count + low) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
11. 執行以下 Python 程式片段,其結果為何?
text = "ABABABABC"
pattern = "ABABC"
count = 0
for i in range(len(text) - len(pattern) + 1):
if text[i:i+len(pattern)] == pattern:
count += i
print(count % 4)
(A) 0 (B) 1 (C) 2 (D) 3
12. 執行以下 Python 程式片段,其結果為何?
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
rotated = [[matrix[j][i] for j in range(3)] for i in range(3)]
print(rotated[1][2] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
13. 執行以下 Python 程式片段,其結果為何?
x = 1
for i in range(1, 5):
x = (x << 1) ^ i
print(x % 4)
(A) 0 (B) 1 (C) 2 (D) 3
14. 執行以下 Python 程式片段,其結果為何?
def check(n):
s = 0
for i in range(1, n):
if n % i == 0:
s += i
return s == n
ans = 0
for i in range(1, 30):
if check(i):
ans += i
print(ans % 4)
(A) 0 (B) 1 (C) 2 (D) 3
15. 執行以下 Python 程式片段,其結果為何?
a = [1, 2, 3]
b = a
c = a.copy()
a[0] = 5
b[1] = 6
c[2] = 7
print((sum(a) + sum(b) + sum(c)) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
16. 執行以下 Python 程式片段,其結果為何?
arr = [12, 34, 54, 2, 3]
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
print(arr[2] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
17. 執行以下 Python 程式片段,其結果為何?
def g(n):
val = 0
while n > 0:
val += n & 1
n >>= 1
return val
total = 0
for i in range(1, 8):
total += g(i)
print(total % 4)
(A) 0 (B) 1 (C) 2 (D) 3
18. 執行以下 Python 程式片段,其結果為何?
vals = [x for x in range(1, 50) if x % 3 == 0 and x % 5 != 0]
print(len(vals) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
19. 執行以下 Python 程式片段,其結果為何?
a = [1, 2, 3, 4, 5]
b = [2, 4, 6, 8, 10]
c = [x for x in a if x in b]
d = [x for x in a if x not in b]
print((sum(c) * sum(d)) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
20. 執行以下 Python 程式片段,其結果為何?
my_dict = {'a': 10, 'b': 20, 'c': 30}
for key in list(my_dict.keys()):
my_dict[key * 2] = my_dict[key] * 2
print(len(my_dict) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
21. 執行以下 Python 程式片段,其結果為何?
s = 0
i = 1
while i * i <= 50:
j = 1
while j * j <= i:
s += 1
j += 1
i += 1
print(s % 4)
(A) 0 (B) 1 (C) 2 (D) 3
22. 執行以下 Python 程式片段,其結果為何?
def verify(s):
stack = [ ]
for char in s:
if char == '(':
stack.append(char)
elif char == ')':
if not stack: return False
stack.pop()
return len(stack) == 0
test_str = "(()())(())"
print(1 if verify(test_str) else 0)
(A) 0 (B) 1 (C) 2 (D) 3
23. 執行以下 Python 程式片段,其結果為何?
items = [5, 2, 9, 1, 5, 6]
pivot = items[0]
less = [x for x in items[1:] if x <= pivot]
greater = [x for x in items[1:] if x > pivot]
print((len(less) - len(greater)) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
24. 執行以下 Python 程式片段,其結果為何?
p, q = True, False
r = True
ans1 = (p or q) and (not r)
ans2 = (p and not q) or r
print(f"{int(ans1)}{int(ans2)}")
(A) 00 (B) 01 (C) 10 (D) 11
25. 執行以下 Python 程式片段,其結果為何?
v = 100
for i in range(1, 4):
v //= i
print(v % 4)
(A) 0 (B) 1 (C) 2 (D) 3
Python程式設計學科模擬試題
1. 執行以下 Python 程式片段,其結果為何?
a = 0x5A
b = 0x3C
result = (~(a ^ b)) & 0xFF
print(result % 4)
(A) 0 (B) 1 (C) 2 (D) 3
2. 執行以下 Python 程式片段,其結果為何?
def calc(x, y):
if x <= 0 or y <= 0:
return 1
if (x + y) % 2 == 0:
return calc(x - 1, y) + 2
else:
return calc(x, y - 1) + 1
print(calc(3, 3) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
3. 執行以下 Python 程式片段,其結果為何?
s = "AABBAABBAA"
cnt = 0
for i in range(len(s) - 2):
if s[i:i+3] == "AAB" or s[i:i+3] == "BBA":
cnt += 1
print(cnt % 4)
(A) 0 (B) 1 (C) 2 (D) 3
4. 關於二維陣列(動態規劃狀態轉移),執行以下程式片段後其結果為何?
dp = [[0] * 4 for _ in range(4)]
for i in range(4):
dp[i][0] = 1
dp[0][i] = i
for i in range(1, 4):
for j in range(1, 4):
dp[i][j] = (dp[i-1][j] + dp[i][j-1]) * 2
print(dp[3][3] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
5. 執行以下 Python 程式片段,其結果為何?
# 模擬雙指標 (Two Pointers)
left, right = 0, 9
arr = [1, 3, 5, 7, 9, 10, 8, 6, 4, 2]
ans = 0
while left < right:
if arr[left] < arr[right]:
ans += arr[left]
left += 1
else:
ans += arr[right]
right -= 1
print(ans % 4)
(A) 0 (B) 1 (C) 2 (D) 3
6. 執行以下 Python 程式片段,其結果為何?(注意運算子優先權)
val = 12 | 6 ^ 3 & 9
print(val % 4)
(A) 0 (B) 1 (C) 2 (D) 3
7. 執行以下 Python 程式片段,其結果為何?
data = [i for i in range(1, 20) if i % 2 != 0]
# data 為 [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
res = data[1:8:2]
print(sum(res) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
8. 執行以下 Python 程式片段(記憶化遞迴與動態規劃邏輯),其結果為何?
memo = {}
def f(n):
if n in memo: return memo[n]
if n <= 1: return 1
if n % 2 == 0:
memo[n] = f(n-1) + 1
else:
memo[n] = f(n-2) + 2
return memo[n]
print(f(7) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
9. 執行以下 Python 程式片段,其結果為何?
total = 0
for i in range(1, 5):
for j in range(1, 5):
if (i + j) % 3 == 0:
continue
total += i * j
print(total % 4)
(A) 0 (B) 1 (C) 2 (D) 3
10. 執行以下 Python 程式片段,其結果為何?
A = {1, 2, 3, 4, 5}
B = {4, 5, 6, 7, 8}
C = {3, 4, 7, 9}
result = (A ^ B) & C
print(sum(result) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
11. 執行以下 Python 程式片段,其結果為何?
matrix = [[i * j for j in range(3)] for i in range(3)]
ans = 0
for r in range(3):
ans += matrix[r][2 - r]
print(ans % 4)
(A) 0 (B) 1 (C) 2 (D) 3
12. 執行以下 Python 程式片段,其結果為何?
def check(n):
cnt = 0
while n > 0:
cnt += (n & 1)
n >>= 1
return cnt
# 計算 1 到 7 所有數字的二進位 1 的總個數
total_ones = sum(check(i) for i in range(1, 8))
print(total_ones % 4)
(A) 0 (B) 1 (C) 2 (D) 3
13. 執行以下 Python 程式片段,其結果為何?
s = "COMPETITION"
# 取出反轉與間隔切片
sub = s[1:9:2][::-1]
print(len(sub) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
14. 執行以下 Python 程式片段,其結果為何?
import math
# 模擬對數與無條件進位運算
val = math.ceil(math.log2(20)) + math.floor(math.log10(150))
print(val % 4)
(A) 0 (B) 1 (C) 2 (D) 3
15. 執行以下 Python 程式片段,其結果為何?
# 字典與 Lambda 排序複合操作
data = {'a': 5, 'b': 2, 'c': 8, 'd': 1}
sorted_keys = sorted(data, key=lambda x: data[x], reverse=True)
# 取出排序後前兩名對應的數值總和
ans = data[sorted_keys[0]] + data[sorted_keys[1]]
print(ans % 4)
(A) 0 (B) 1 (C) 2 (D) 3
16. 執行以下 Python 程式片段,其結果為何?
# 數字位數乘積與基礎迴圈
num = 1234
prod = 1
while num > 0:
digit = num % 10
if digit % 2 == 0:
prod *= digit
num //= 10
print(prod % 4)
(A) 0 (B) 1 (C) 2 (D) 3
17. 執行以下 Python 程式片段,其結果為何?
# 模擬字串格式化與取代
text = "A1B2C3D4"
new_text = "".join([ch for ch in text if ch.isalpha()])
print(len(new_text) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
18. 執行以下 Python 程式片段,其結果為何?
# 費氏數列變體
a, b, c = 1, 1, 2
for i in range(5):
a, b, c = b, c, a + b + c
print(c % 4)
(A) 0 (B) 1 (C) 2 (D) 3
19. 執行以下 Python 程式片段,其結果為何?
# 列表推導式與巢狀條件
res = [x * y for x in range(1, 4) for y in range(1, 4) if (x + y) >= 4]
print(sum(res) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
20. 執行以下 Python 程式片段,其結果為何?
# 模擬巴斯卡三角形(組合數)
def pascal(row, col):
if col == 0 or col == row:
return 1
return pascal(row - 1, col - 1) + pascal(row - 1, col)
print(pascal(5, 3) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
21. 執行以下 Python 程式片段,其結果為何?
# 進位制轉換與字串長度
val = bin(43) # 將 43 轉換為二進位字串
# 註:bin(43) 的格式為 '0b......'
print(len(val) % 4)
(A) 0 (B) 1 (C) 2 (D) 3
22. 執行以下 Python 程式片段,其結果為何?
# 二分搜尋法的內部變數追蹤
arr = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91]
target = 23
low, high = 0, len(arr) - 1
steps = 0
while low <= high:
steps += 1
mid = (low + high) // 2
if arr[mid] == target:
break
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
print(steps % 4)
(A) 0 (B) 1 (C) 2 (D) 3
23. 執行以下 Python 程式片段,其結果為何?
# 矩陣相乘與基礎加總
A = [[1, 2], [3, 4]]
B = [[2, 0], [1, 2]]
C = [[0, 0], [0, 0]]
for i in range(2):
for j in range(2):
for k in range(2):
C[i][j] += A[i][k] * B[k][j]
print(C[1][0] % 4)
(A) 0 (B) 1 (C) 2 (D) 3
24. 執行以下 Python 程式片段,其結果為何?
# 不確定參數與邏輯短路 (Short-circuit Evaluation)
def check_a():
return True
def check_b():
return 1 // 0 == 0 # 這一行若單獨執行會引發 ZeroDivisionError
try:
ans = check_a() or check_b()
print(1 if ans else 0)
except ZeroDivisionError:
print(2)
(A) 0 (B) 1 (C) 2 (D) 3
25. 執行以下 Python 程式片段,其結果為何?
# 綜合位元遮罩 (Bit Mask) 運算
mask = 0b1111
val = 27 # 二進位 11011
result = (val >> 2) ^ mask
print(result % 4)
(A) 0 (B) 1 (C) 2 (D) 3
全國高級中等學校技藝競賽資訊平台_商業類歷屆考題

