«

【Python程序设计】第六章 单元测验 答案与解析

azurekiln 发布于 阅读:2 Python程序设计


一. 单选题(共2题,28.5分)

  1. (单选题) 以下关于元组的描述正确的是( )。

    A. 创建元组tup:tup = ();

    B. 创建元组tup:tup = (50);

    C. 元组中的元素允许被修改

    D. 元组中的元素允许被删除

    答案:A

解析:在Python中,() 或者 tuple() 都可以创建空元组。
选项 B 写作 tup = (50),这实际上是一个整数 50(相当于带括号的表达式),而单元素元组必须写成 (50,) 才行。
元组是不可变序列,不能修改或删除其中的元素,故选项 C、D 都错误。


Python = "  Python"
    print ("study" + Python)
  1. (单选题) 该语句的运行结果是( )。

    A. studyPython

    B. "study"Python

    C. study Python

    D. 语法错误

    答案:C

解析:变量 Python 前面带有一个或多个空格(这里示例给了两个空格),"study" + Python 会原样拼接空格,所以屏幕上看到 study Python(一个或多个空格后跟 Python),故选C。


二. 判断题(共5题,71.5分)

  1. (判断题) 创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如(3,)。

    A. 对

    B. 错

    答案:对

解析:单元素元组必须有逗号,否则只是普通值加括号。


  1. (判断题) 已知x是一个列表,那么x = x[3:] + x[:3]可以实现把列表x中的所有元素循环左移3位。

    A. 对

    B. 错

    答案:对

解析:切片拼接正是左移:[e0,e1,e2,e3,…] → [e3,…, e0,e1,e2]。


  1. (判断题) 如a是一个列表,且a[:]与a[::-1]相等,则a中元素按顺序排列构成一个回文。

    A. 对

    B. 错

    答案:对

解析:a[:] 为原序列,a[::-1] 为反序列,二者相等即说明序列从前向后与从后向前一致,正是回文。


  1. (判断题) 已知x = (1, 2, 3, 4),那么执行x[0] = 5之后,x的值为(5, 2, 3, 4)。

    A. 对

    B. 错

    答案:错

解析:元组不可变,执行 x[0]=5 会抛出 TypeError,无法修改。


  1. (判断题) 对于列表而言,在尾部追加元素比在中间位置插入元素速度更快一些,尤其是对于包含大量元素的列表。

    A. 对

    B. 错

    答案:对

解析:向尾部 append 是 摊销 O(1);在中间 insert 需要移动后续所有元素,O(n),对于大列表差异明显。



扫描二维码,在手机上阅读
收藏
请先 登录 再评论