跳到主要內容
技藝競賽 / 自編學科模擬練習試題五

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

消息公佈欄

時間類別單位標題發佈點閱
跳至網頁頂部