在一个文本文件中存放着学生的各科成就,此刻需要计较各门课的成就总分,并进行排序。这个应该怎么做呢?让我们试着编写这样的一个小程序。

工具/原料
- python3.7
方式/步骤
- 1
第一步,读入文件。因为这个文件并不大,我们可以一次性读入,为了便利,此次我们按行读为列表形式。


- 2
第二步,成立学成就列表,将每个学生作为一个子列表存入成就列表。


- 3
第三步,计较每个学生总分。我们阐发一下今朝获得的成就列表,可以看出此中第0个子列表是表头,从第1个子列表标的目的后依次是每个学生信息,每个学生的成就是子列表中的后三个。于是我们先给第0个列表加上“总分”项,然后对每个学生成就计较总分,写入列表。为了便于后面排序,把获得总分再转化为字符。


- 4
第四步,对学生成就按总分进行排序。利用sort函数排序,此中用lambda指定排序项为第5列的总分,用reverse指定是否要降序摆列。


- 5
第五步,将排序后成果打印到屏幕上。经由过程for函数遍历每行、每列,并在每行竣事后打印一个换行,这样结果会更好。


- 6
第六步,将获得成果写入文本。
用w模式写入一个新文件,写的时辰要注重遍历成就列表,对此中的子列表每个原因加上"\t",每个子列表竣事后再进行换行。


注重事项
- 排序是很常用的操作,经由过程这个小程序可以操练 列表操作、轮回及文件读写。
- 接待大师和我交流。







