在一个文本文件中存放着学生的各科成就,此刻需要计较各门课的成就总分,并进行排序。这个应该怎么做呢?让我们试着编写这样的一个小程序。
第一步,读入文件。因为这个文件并不大,我们可以一次性读入,为了便利,此次我们按行读为列表形式。
第二步,成立学成就列表,将每个学生作为一个子列表存入成就列表。
第三步,计较每个学生总分。我们阐发一下今朝获得的成就列表,可以看出此中第0个子列表是表头,从第1个子列表标的目的后依次是每个学生信息,每个学生的成就是子列表中的后三个。于是我们先给第0个列表加上“总分”项,然后对每个学生成就计较总分,写入列表。为了便于后面排序,把获得总分再转化为字符。
第四步,对学生成就按总分进行排序。利用sort函数排序,此中用lambda指心猿意马排序项为第5列的总分,用reverse指心猿意马是否要降序摆列。
第五步,将排序后成果打印到屏幕上。经由过程for函数遍历每行、每列,并在每行竣事后打印一个换行,这样结果会更好。
第六步,将获得成果写入文本。
用w模式写入一个新文件,写的时辰要注重遍历成就列表,对此中的子列表每个原因加上"\t",每个子列表竣事后再进行换行。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!