三阶段模拟 2 分钟阅读

第一阶段:纸质程序设计基础

限时 30 分钟,共 30 分。不得使用电脑、手机、教材或运行代码。

一、单项选择题(每题 2 分,共 10 分)#

  1. type(int("12") + 3.0).__name__ 的结果是:

    A. int B. float C. str D. bool

  2. 执行下列代码后,输出是:

    x = 5
    x //= 2
    x **= 2
    print(x)
    

    A. 2 B. 4 C. 6 D. 25

  3. 执行下列代码后,a 的值是:

    a = [1, 2, 3]
    a.insert(1, 9)
    a.remove(2)
    

    A. [1, 2, 3, 9] B. [1, 9, 3] C. [1, 9, 2] D. [9, 1, 3]

  4. 执行下列代码后,输出是:

    d = {"a": 1, "b": 2}
    print(list(zip(d.keys(), d.values())))
    

    A. [1, 2] B. ["a", "b"] C. [("a", 1), ("b", 2)] D. {"a": 1, "b": 2}

  5. 执行下列代码后,输出是:

    class Book:
        def __init__(self, title):
            self.title = title
    
    b = Book("Python")
    print(b.title)
    

    A. Book B. title C. self D. Python

二、输出结果题(每题 3 分,共 9 分)#

  1. 写出输出结果。

    s = 0
    for i in range(1, 6):
        if i % 2 == 0:
            continue
        s += i
    print(s)
    
  2. 按行写出输出结果。

    s = "Python"
    print(s[1:4])
    print(s[-2:])
    print(s[::-1])
    
  3. 按行写出输出结果。

    a = [3, 1, 2]
    a.sort(reverse=True)
    b = sorted(a)
    a.append(b[0])
    print(a)
    print(b)
    

三、程序填空题(每题 2 分,共 8 分)#

  1. 使函数返回列表中的最大值。

    def findMax(values):
        result = values[0]
        for x in values:
            if __________:
                result = x
        return result
    
  2. 用只读模式打开文件,并一次读完全部内容。

    with open("data.txt", ______, encoding="utf-8") as f:
        content = f.______()
    
  3. 模拟掷一个六面骰子,结果范围为 1 至 6。

    from random import randint
    number = randint(______, ______)
    
  4. 画正方形,每画完一条边向右转 90 度。

    for _ in range(4):
        turtle.forward(100)
        turtle.______(90)
    

四、算法过程题(3 分)#

  1. 已有列表 data = [5, 1, 4, 2]。

    1. 使用冒泡排序按升序排列,写出第一轮结束后的列表。
    2. 写出第二轮结束后的列表。
    3. 对 [1, 3, 5, 7, 9, 11] 使用二分查找寻找 7,依次写出每次比较的中间元素。