跳到主要內容
技藝競賽
  • 高級中等學校商業類程式設計技藝競賽

    自編學科模擬練習試題一

    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

    全國高級中等學校技藝競賽資訊平台

    全國高級中等學校技藝競賽資訊平台_商業類歷屆考題

消息公佈欄

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