当前位置: 首页 > news >正文

阶段二测试

1、

以下代码的输出是什么?

image/png

(单选题,1.5分)

A.

报错

B.

2 b

C.

2 a

D.

1 a

2、

  • len(d) 计算字典的键值对数量,结果为 1

  • d[1] 实际访问的是等价键 True 对应的值,输出 b

以下代码输出的结果是____。

image/png

(填空题,5分)

9

3、

以下代码的输出是什么?

image/png

(单选题,1.5分)

A.

4

B.

0

C.

1

D.

2

print(sum(lst) if lst else 0)

如果 lst 非空,计算并输出 lst 中所有元素的和。

如果 lst 为空,输出 0。

这里 lst = [1, 3],所以 sum(lst) = 4,输出 4

    4、

    关于以下操作的时间复杂度,说法正确的是?

    image/png

    (单选题,1.5分)

    A.

    d['a']是O(n)

    B.

    s[::-1]是O(1)

    C.

    'world' in s是O(1)

    D.

    3 in lst是O(n)

    • s = "hello world" 定义了一个字符串 s,其内容为 "hello world"列表 lst:
      • lst = [1, 2, 3, 4, 5] 定义了一个列表 lst,其中包含整数 1 到 5字典 d:
        • d = {'a': 1, 'b': 2} 定义了一个字典 d,其中有两个键值对:'a': 1 和 'b': 2

    5、

    以下代码的输出是什么?

    image/png

    (单选题,1.5分)

    A.

    4

    B.

    3

    C.

    2

    D.

    1

    print(len(result))用于输出集合result中元素的个数。
    由于result集合中有4个元素,所以len(result)的值为4。

    6、

    关于Python容器的内存分配策略,以下说法错误的是?

    (单选题,1.5分)

    A.

    dict在删除元素后会自动收缩内存

    B.

    tuple的内存分配是一次性的

    C.

    list采用过度分配策略减少resize次数

    D.

    set的存储结构与dict类似

    答案A

    set(集合)是一个无序且不重复元素的集合,其底层实现通常是通过哈希表来完成的,虽然和dict的底层实现有一定相似性(都基于哈希表),但set只存储键,不存储值,而dict是键值对的存储结构,二者的存储结构并不完全相同。所以该选项说法错误。

    7、

    以下代码的运行结果是____。

    image/png

    (填空题,5分)

    5

    count_chars(s) 统计了字符串中每个字符的出现次数。对于字符串 "abracadabra",字符 'a' 出现了5次,字符 'z' 未出现。最终输出为 5

    result.get('z', 0)获取字符'z'在字典result中的计数,由于字符串"abracadabra"中不存在字符'z',所以返回默认值0。
    将上述两个结果相加,即5 + 0 = 5

    8、

    以下代码的输出是什么?

    image/png

    (单选题,1.5分)

    A.

    ba

    B.

    ab

    C.

    aa

    D.

    bb

    两个相加为bb

    9、

    以下代码的输出是什么?

    image/png

    (单选题,1.5分)

    A.

    False True

    B.

    False False

    C.

    True True

    D.

    True False

    10、

    关于容器操作的时间复杂度,以下说法正确的是?

    (单选题,1.5分)

    A.

    列表的in操作是O(1)

    B.

    字典的keys()操作是O(n)

    C.

    字符串拼接是O(1)

    D.

    集合的交集操作是O(1)

    答案b

    11、

    以下代码的输出是什么?

    image/png

    (单选题,1.5分)

    A.

    grammin

    B.

    programmin

    C.

    prog

    D.

    gramming

    答案A

    12、

    以下代码输出的结果分别是____、____。

    image/png

     check_sequence(s) 检查列表是否满足相邻元素差值为1的对于 [5, 6, 7, 8],满足条件,返回 True。对于 [1, 3, 5],不满足条件(3 - 1 = 2),返回 False。输出为 True False

    (填空题,10分)

    true

    false

    13、

    以下代码的输出是什么?

    image/png

    (单选题,1.5分)

    A.

    {1}

    B.

    {1, 2, 3}

    C.

    {1, 3}

    D.

    报错

    14、

    以下代码打印的结果分别是____、____、____和____。

    image/png

    第一个 peek 输出 2第二个 peek 输出 2第三个 peek 输出 4

    最终 sum(final_stack) 输出 7

      (填空题,20分)

      2

      2

      4

      7

      15、

      以下代码运行的结果为____。

      image/png

       merge_dicts(d1, d2) 合并两个字典,处理键冲突的方式是将值相加

      合并后字典为{'a': 1, 'b': 5, 'c': 4}

      计算 ab 和 c 的值之和为 10

      因此,代码的输出结果是 10

      (填空题,5分)

      10

      16、

      以下代码的输出是什么?

      image/png

      (单选题,1.5分)

      A.

      2

      B.

      [1, 2]

      C.

      0

      D.

      1

      最后一行 print(d.get('a', [0])[0])

      获取d中键'a'的值,即[1, 2]

      取这个列表的第一个元素[0],即1

        17、

        以下代码输出sums的元素依次是____、____、____、____、____。

        image/png

        cumulative_sum(numbers) 计算输入列表的累积和,并返回每一步的累积和列表。对于输入 [3, 1, 4, 1, 5],累积和列表为 [3, 4, 8, 9, 14]。最终输出为 3 4 8 9 14(或以列表形式 [3, 4, 8, 9, 14])。

          (填空题,25分)

          3

          4

          8

          9

          14

          18、

          以下代码的输出是什么?

          image/png

          (单选题,1.5分)

          A.

          False

          B.

          有时True有时False

          C.

          True

          D.

          报错

          19、

          以下哪种操作的时间复杂度不是O(1)

          (单选题,1.5分)

          A.

          list.append(item)

          B.

          set.add(item)

          C.

          list.insert(0,item)

          D.

          dict[key]

          答案c

          20、

          以下代码的输出是什么?

          (单选题,1.5分)

          A.

          (1, [2, 3, 4])

          image/png

          B.

          (1, [2, 3])

          C.

          (1, [6])

          D.

          报错

          21、

          以下不能创建一个字典的语句是?

          (单选题,1.5分)

          A.

          dict1 = {}

          B.

          dict3 = {(1,2,3):"uestc"}

          C.

          dict4 = {[1,2,3]:"uestc"}

          D.

          dict2 = {3:5}

          答案c

          22、

          以下代码的输出是什么?

          image/png

          (单选题,1.5分)

          A.

          [1, [4, 5, 6], 3]

          B.

          报错

          C.

          [1, 4, 5, 6, 3]

          D.

          [4, 5, 6, 1, 2, 3]

          23、

          关于迭代器和可迭代对象,描述错误的是?

          (单选题,1.5分)

          A.

          迭代器可以被内建函数next()操作获取下一个数据

          B.

          可迭代对象可以被内建函数next()操作获取下一个数据

          C.

          可迭代对象内部肯定会包含一个迭代器对象

          D.

          迭代器和可迭代对象,都可以被for循环遍历

          可迭代对象本身并不直接实现__next__()方法,不能直接使用next()函数来获取下一个数据。需要先通过iter()函数将可迭代对象转换为迭代器,然后再使用next()函数对迭代器进行操作。例如,对于列表lst = [1, 2, 3],直接使用next(lst)会报错,因为列表是可迭代对象但不是迭代器,应该先使用it = iter(lst)将其转换为迭代器,再使用next(it)。所以选项B的说法是错误的。

          24、

          以下代码的输出是什么?

          image/png

          (单选题,1.5分)

          A.

          b3

          B.

          c3

          C.

          报错

          D.

          a3

          1. 先执行列表推导式得到 ['a','c']
          2. 取第一个元素 'a'
          3. 加上 str(len(d)) 即 '3'
          4. 得到 'a3'

          因此,输出结果是 "a3"。

          25、

          以下代码输出的结果是____。

          image/png

           "Hello World, this is a test sentence." 中的元音字母统计:'e': 4 次'o': 2 次因此,'e' + 'o' 的计数之和为 4 + 2 = 6

            (填空题,5分)

            7

            26、

            以下代码的输出是什么?

            image/png

            (单选题,1.5分)

            A.

            3

            B.

            2

            C.

            0

            D.

            1

            1. result = [0, 1, 2],sum(result) = 0 + 1 + 2 = 3

            因此,最终输出结果是3。

            27、

            以下代码的输出是什么?

            image/png

            (单选题,1.5分)

            A.

            True

            B.

            10

            C.

            False

            D.

            print(all(x > sum(numbers)/len(numbers) for x in numbers)):打印all()函数的返回值,即False

            选项分析

            12.5

            28、

            以下代码运行的结果是____。

            image/png

            主列表的计数:直接匹配的 2:1 次(主列表中的 2)。子列表 [2, 3, [2, 4]] 中的 2:2 次。子列表 [5, [2]] 中的 2:1 次。总计数:1 + 2 + 1 = 4。

            (填空题,5分)

            2

            29、

            以下代码的输出是什么?

            image/png

            (单选题,1.5分)

            A.

            3

            B.

            1

            C.

            4

            D.

            2

            表达式 s1 & s2 是求s1和s2的交集,结果是 {3}表达式 s2 & s3 是求s2和s3的交集,结果是 {5}| 运算符表示并集操作,所以 {3} | {5} 的结果是 {3, 5}最后 len(result) 计算这个并集的长度,即集合中元素的个数

            因此,result = {3, 5},它的长度是2。

            30、

            以下代码输出的结果是____。

            image/png

            (填空题,5分)

            hello world

            31、

            以下哪种方法不能用于从列表[1,2,3,2,1]中删除所有值为2的元素?

            (单选题,1.5分)

            A.

            del lst[lst.index(2)]

            B.

            [x for x in lst if x != 2]

            C.

            while 2 in lst:     lst.remove(2)

            D.

            list(filter(lambda x: x != 2, lst))

            A选项   lst.index(2) 会返回列表中第一个值为2的元素的索引。del 语句会删除该索引位置的元素。但这个操作只会删除第一个遇到的2,而不会删除所有值为2的元素。例如,初始列表 [1, 2, 3, 2, 1]:第一次执行:删除索引为1的元素(值为2),列表变为 [1, 3, 2, 1]。此时列表中仍然有值为2的元素,但 del lst[lst.index(2)] 只会再删除一次第一个遇到的2,不会循环删除所有2。因此,这个方法不能完全删除所有值为2的元素。

            32、

            下列哪个语句在 Python 中是非法的?

            (单选题,1.5分)

            A.

            x, y = y, x

            B.

            x += y

            C.

            x = (y = z + 1)

            D.

            x = y = z = 1

            33、

            答案C

            以下代码的输出是什么?

            image/png

            (单选题,1.5分)

            A.

            [[1], [1], [1]]

            B.

            [[1], [], []]

            C.

            [[1], [1], []]

            D.

            [[1, 1, 1], [], []]

            print(a)这行代码打印列表a的内容。此时,由于之前对a[0]的修改实际上是对所有元素引用的同一个列表的修改,所以a的三个元素都会显示为[1],即输出结果为[[1], [1], [1]]

            34、

            以下代码的输出是什么?

            image/png

            (单选题,1.5分)

            A.

            报错

            B.

            c

            C.

            d

            D.

            3

            35、

            以下代码输出结果是?

            image/png

            (单选题,1.5分)

            A.

            None

            B.

            a

            C.

            报错

            D.

            b

            a。根据上述分析,字典a中键为1的值是'a',所以打印结果为a,该选项正

            36、

            关于Python容器的可变性,以下说法正确的是?

            (单选题,1.5分)

            A.

            字符串可以通过索引修改单个字符

            B.

            字典的值可以是任意类型,但键必须是字符串

            C.

            元组一旦创建就不能以任何方式修改

            D.

            集合中的元素必须是不可变类型

            答案d

            37、

            关于Python容器的可变性,以下说法正确的是?

            (单选题,1.5分)

            A.

            set和map都是不可变的

            B.

            dict的键可以是任意类型

            C.

            tuple是不可变的,但可以包含可变元素

            D.

            list和tuple都是可变的

            答案C

            38、

            以下代码的输出是什么?

            image/png

            (单选题,1.5分)

            A.

            报错

            B.

            2

            C.

            0

            D.

            1

            表推导式直接生成的是一维列表,如 ['d', 4] 这样的形式(如果用方括号)但代码中使用了多余的方括号,实际生成的是二维结构:[[x, y] for ...]因此 [...][1][0] 会尝试访问第二个元素的第一个值但过滤后只有一个元素满足条件,所以索引[1]会越界

            因此,这段代码会引发 IndexError 错误。

            39、

            以下代码的输出是什么?

            image/png

            (单选题,1.5分)

            A.

            16

            B.

            1

            C.

            4

            D.

            9

            对于22**2 = 4。对于44**2 = 16所以map()函数返回一个迭代器,其中包含计算后的结果416list(result)[1]:获取列表中的第二个元素(索引为1),即16

            40、

            以下代码输出的结果是____。

            image/png

            第一次插入:reversed_words = ['Python']第一次插入:reversed_words = ['Python']第二次插入:reversed_words = ['is', 'Python']第三次插入:reversed_words = ['fun', 'is', 'Python']依此类推,最终 reversed_words = ['learn', 'to', 'fun', 'is', 'Python']

              (填空题,5分)

              learn to fun is Python

              41、

              以下代码的输出是什么?

              image/png

              (单选题,1.5分)

              A.

              2

              B.

              3

              C.

              1

              D.

              4

              A1。四舍五入后数值的个数不是1,所以该选项错误。B2。四舍五入后数值的个数不是2,所以该选项错误。C3。四舍五入后数值的个数不是3,所以该选项错误。D4。列表nums有4个元素,经过map(round, nums)处理后,仍然有4个元素(只是值被四舍五入了),所以len(list(map(round, nums)))的结果是4,虽然代码打印的是求和结果,但根据选项和可能的考察意图,该选项正确(可能是题目代码注释导致理解偏差,但选项4是列表长度

              42、

              以下代码的输出是什么?

              image/png

              (单选题,1.5分)

              A.

              报错

              B.

              4

              C.

              3

              D.

              print(t[0] + t[1][0])t[0]仍然是元组创建时的第一个元素1(因为元组不可变,未被成功修改),t[1][0]是列表[4, 3]的第一个元素4。所以t[0] + t[1][0]的结果是1 + 4 = 5

              5

              43、

              以下哪种方法不能用于删除字典d中键为'key'的项?

              (单选题,1.5分)

              A.

              del d['key']

              B.

              d.clear() if 'key' in d

              C.

              d.remove('key')

              D.

              d.pop('key')

              答案c

              44、

              以下是字符转换成字节的方法是?

              (单选题,1.5分)

              A.

              decode()

              B.

              rstrip()

              C.

              upper()

              D.

              encode()

              答案d

              45、

              以下代码的输出是什么?

              image/png

              (单选题,1.5分)

              A.

              3

              B.

              5

              C.

              4

              D.

              6

              答案D

              • len() 函数用于计算序列的长度。
              • 元组的长度是其包含的元素个数,列表的长度是其元素的个数。

              46、

              以下代码的输出是什么?

              image/png

              (单选题,1.5分)

              A.

              PythonJava

              B.

              JavaC++

              C.

              C++Java

              D.

              PythonC++

              答案d

              max(data, key=len) + min(data, key=len):将max(data, key=len)返回的字符串'Python'min(data, key=len)返回的字符串'C++'进行拼接,得到'PythonC++'

              print('PythonC++'):打印拼接后的字符串'PythonC++'

              47、

              以下代码的输出是什么?

              image/png

              (单选题,1.5分)

              A.

              4

              B.

              3

              C.

              1

              D.

              2

              • d.get('c', len(d))get()方法是字典对象的一个方法,用于获取指定键的值。如果键存在,则返回对应的值;如果键不存在,则返回指定的默认值。这里键'c'存在于字典d中,其对应的值为1,所以d.get('c', len(d))返回1。选择C

              48、

              下面关于模块的说法错误的是( )

              (单选题,1.5分)

              A.

              Python3中sys是系统的内置模块

              B.

              Python3中math是系统内置提供用于数学运算的模块,其中math.round()方法是四舍五入方法

              C.

              Python3中我们可以使用“pip install 模块名称”命令在线安装对应的模块

              D.

              Python3中os模块是内置模块,同时os.path模式也包含在os模块中

              round()并不是math模块中的方法,而是Python的内置函数。可以直接使用round(number[, ndigits])对数字进行四舍五入操作,其中number是要进行四舍五入的数字,ndigits是保留的小数位数(可选参数)。所以选项B的说法是错误的。

              49、

              以下代码的输出是什么?

              image/png

              (单选题,1.5分)

              A.

              [1, 2, 3, (4,)]

              B.

              [1, 2, 3]

              C.

              [1, 2, 3, 4]

              D.

              报错

              50、

              关于Python容器的内存管理,以下说法错误的是?

              (单选题,1.5分)

              A.

              列表比元组更节省内存

              B.

              列表的resize操作可能会导致内存重新分配

              C.

              集合的元素必须是不可变类型

              D.

              字典的键必须是可哈希的对象

              http://www.lryc.cn/news/614749.html

              相关文章:

            • 华为网路设备学习-28(BGP协议 三)路由策略
            • Latex中公式部分输入正体的字母\mathrm{c}
            • v-model双向绑定指令
            • 【工作笔记】Docker Desktop一直转圈加载不出来然后报错
            • 数据结构---二叉树(概念、特点、分类、特性、读取顺序、例题)、gdb调试指令、时间复杂度(概念、大O符号法、分类)
            • CSS:BFC
            • 深入解析Linux信号处理机制
            • DeepSeek辅助编写的带缓存检查的数据库查询缓存系统
            • 三方相机问题分析七:【datespace导致GPU异常】三方黑块和花图问题
            • Sum of Three Values(sorting and searching)
            • 基于MATLAB实现的毫米波大规模MIMO系统中继混合预编码设计
            • Python Day26 HTTP 协议相关笔记
            • Neo4j APOC插件安装教程
            • 论文阅读:AAAI 2024 ExpeL: LLM Agents Are Experiential Learners
            • 连锁店管理系统的库存跟踪功能:数字化转型下的零售运营核心
            • Nextcloud容器化部署新范式:Docker与Cpolar如何重塑私有云远程访问能力
            • 浅试A2A
            • 商品 SKU 计算,库存不足不能选择
            • SpringBoot的profile加载
            • C++ 模拟实现 map 和 set:掌握核心数据结构
            • 恒科持续低迷:新能源汽车股下跌成拖累,销量担忧加剧
            • Mac下安装Conda虚拟环境管理器
            • AI开发平台行业全景分析与战略方向建议
            • WPF 动画卡顿
            • Seaborn 数据可视化库:入门与进阶指南
            • 解决多线程安全性问题的方法
            • 无人设备遥控器之信号编码技术篇
            • 深入理解OpenGL Shader与GLSL:基础知识与优势分析
            • 【深度学习】动手深度学习PyTorch版——安装书本附带的环境和代码(Windows11)
            • list的简单介绍