巧用python对学生成绩计算总分并排序

2024-03-31 05:37:19 浏览

1、读入文件。由于这个文件并不大,我们可以一次性读入,为了方便,这次我们按行读为列表形式。

巧用python对学绩计算总分并排序

2、建立学成绩列表,将每个学生作为一个子列表存入成绩列表。

3、计算每个学生总分。我们分析一下目前得到的成绩列表,可以看出其中第0个子列表是表头,从第1个子列表向后依次是每个学生信息,每个学生的成绩是子列表中的后三个。于是我们先给第0个列表加上“总分”项,然后对每个学生成绩计算总分,写入列表。为了便于后面排序,把得到总分再转化为字符。

4、对学生成绩按总分进行排序。使用sort函数排序,其中用lambda指定排序项为第5列的总分,用reverse指定是否要降序排列。

5、将排序后结果打印到屏幕上。通过for函数遍历每行、每列,并在每行结束后打印一个换行,这样效果会更好。

6、将得到结果写入文本。

用w模式写入一个新文件,写的时候要注意遍历成绩列表,对其中的子列表每个原因加上"\t",每个子列表结束后再进行换行。

不会排序的,你的例子只是恰好碰上了,你换一些其他的数字,数字多一点,就不会了,比如

不会排序的,你的例子只是恰好碰上了,你换一些其他的数字,数字多一点,就不会了,比如

set是无序集合,python不保证其中元素的次序。打印结果取决于其内部存储结构和输出方式。

你打个长的就知道了

说明它是按类似二维数组的方式保存的,先把重复的元素剔除,然后把元素按21436587的顺序存进二维数组

首先要明白冒泡排序的一个原理。原理就是对比,第一个第二个数进行比较。第二第三个数据比较,然后依次后面慢慢都全部比较一遍。

比较过程中。前面和后面的两个数进行比较,其中大的数,向右移一格。如果大的书在左边,那就它就像右移一个。如果大的数在原来就在右边的,那就它不动。所以说你这个问题意思就是两个数进行比较,比较完之后把大的数向右移一格。就是两边数值对换一下。

假设原来的两个list是L1,L2. 1,合并:L = L1+L2 2,排序sorted(L) 默认从小到大排列,如果要从大到小排列就是sorted(L,reverse=True) 合起来就是 L=sorted(L1+L2, reverse=True)

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。