在一个文本文件中存放着学生的各科成绩,现在需要计算各门课的成绩总分,并进行排序。这个应该怎么做呢?让我们试着编写这样的一个小程序。
工具/原料
python3.7
方法/步骤
1
第一步,读入文件。由于这个文件并不大,我们可以一次性读入,为了方便,这次我们按行读为列表形式。
2
第二步,建立学成绩列表,将每个学生作为一个子列表存入成绩列表。
3
第三步,计算每个学生总分。我们分析一下目前得到的成绩列表,可以看出其中第0个子列表是表头,从第1个子列表向后依次是每个学生信息,每个学生的成绩是子列表中的后三个。于是我们先给第0个列表加上“总分”项,然后对每个学生成绩计算总分,写入列表。为了便于后面排序,把得到总分再转化为字符。
4
第四步,对学生成绩按总分进行排序。使用sort函数排序,其中用lambda指定排序项为第5列的总分,用reverse指定是否要降序排列。
5
第五步,将排序后结果打印到屏幕上。通过for函数遍历每行、每列,并在每行结束后打印一个换行,这样效果会更好。
6
第六步,将得到结果写入文本。
用w模式写入一个新文件,写的时候要注意遍历成绩列表,对其中的子列表每个原因加上"\t",每个子列表结束后再进行换行。
END
注意事项
排序是很常用的操作,通过这个小程序可以练习 列表操作、循环及文件读写。
欢迎大家和我交流。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部