课后作业

  1. 写出两种以上用来创建内含 5 个整数零的列表的示例代码。

  2. 对于如下元组:

    t = (3, 7, 8, 11)
    

    编写一个表达式,仅将其中的第一个元素 3 修改为 1,请给出两种方法。

  3. 自行从网络上搜索并学习冒泡排序法,实现在不使用 Python 中已有的用于排序的函数的前提下,对以下列表中的数字按照从小到大的顺序进行排序:

    numbers = [43, 78, 31, 0, 63, 13, 23, 31, 20, 61]
    

    然后再自行学习二分查找法,不使用任何列表方法,也不使用 in 运算符,用二分查找法快速找出排序后的列表中值 43 所对应的索引位置。

  4. 某个班级期末考试的成绩单如下:

    学号 姓名 数学 英语 物理
    2001 张三 88.5 64.0 75.0
    2002 李四 78.0 65.5 90.0
    2003 王老五 67.2 58.0 79.0
    2004 白冰冰 87.0 92.5 89.0
    2005 赵晓静 78.0 81.0 67.5

    请编写一个程序,选择适当的数据结构用一个变量存储上表中所有信息,计算并在该变量中存储所有学生的平均成绩,以类似表格的形式打印该班级的成绩单,要求表格比上表至少多一列和一行,即在最后一列打印各学生的平均成绩,同时在最后一行适当位置打印各科的平均成绩,以及总平均成绩。

    选做

    同时打印各人的班级排名,并按平均成绩从高到低的顺序排列各行。

    提示

    使用 f-string 或转义字符(如 \t)以打印出样式美观的表格。

  5. 将上一题所编制的程序改造为一个查询程序,程序提示输入学号进行成绩查询。当输入的学号存在时,打印该学生的成绩信息;当输入的学号不存在时,提示输入信息有误。该程序能无限循环执行下去,直到输入 exit 时才退出。

    提示

    为了能快速查找,可以使用字典存储班级成绩表,字典的键设为学号。

字典上机实验