Python处理csv之成绩排序功能的实现是怎样的
Admin 2022-09-30 群英技术资讯 349 次浏览
今天我们来学习关于“Python处理csv之成绩排序功能的实现是怎样的”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
文件scores.csv包含十位学生的成绩单,表头是"姓名 语文 数学 英语"。请编程完成下述功能。
1)计算每位学生的总分与排名,并将扩充后的学生信息写入文件data.csv中,新文件表头是"姓名 语文 数学 英语 总分 名次";
2)同时,在控制台上分行输出各门课的最高分与最低分以及对应的学生姓名,输出格式为"课程名 :(最高分,学生1,… ,学生n),(最低分,学生1,… ,学生n)";
3)如果总分相同,则同一名次下可能有多人并列,如果最高分或最低分有多人相同,则将这么多人按字母序先后写在同一个元组中。
fr=open("scores.csv","r") fw=open("data.csv","w") ls=[] for line in fr: line=line.replace("\n","") ls.append(line.split(",")) ChMax=[0,''] ChMin=[100,''] MaMax=[0,''] MaMin=[100,''] EnMax=[0,''] EnMin=[100,''] #当函数有list或者 dictionary 作为形参时,会改变其实参的值(在函数中若改动其值) #但是若不想实参的值收到影响,在传参的时候可以使用[].copy方法。list和dictionary都有copy方法。 # def updateMaxMin(Max,Min,score,i): # if(score>Max[0]): # Max=[0,''] # Max[0]=score # Max[1]=ls[i][0] # elif(score==Max[0]): # Max.append(ls[i][0]) # if(score ChMax[0]): ChMax = [0, ''] ChMax[0] = chScore ChMax[1] = ls[i][0] elif (chScore == ChMax[0]): ChMax.append(ls[i][0]) if (chScore < ChMin[0]): ChMin = [100, ''] ChMin[0] = chScore ChMin[1] = ls[i][0] elif (chScore == ChMin[0]): ChMin.append(ls[i][0]) #数学最高分最低分更新 maScore=eval(ls[i][2]) if (maScore > MaMax[0]): MaMax = [0, ''] MaMax[0] = maScore MaMax[1] = ls[i][0] elif (maScore == MaMax[0]): MaMax.append(ls[i][0]) if (maScore < MaMin[0]): MaMin = [100, ''] MaMin[0] = maScore MaMin[1] = ls[i][0] elif (maScore == MaMin[0]): MaMin.append(ls[i][0]) #英语最高分最低分更新 enScore=eval(ls[i][3]) if (enScore > EnMax[0]): EnMax = [0, ''] EnMax[0] = enScore EnMax[1] = ls[i][0] elif (enScore == EnMax[0]): EnMax.append(ls[i][0]) if (enScore < EnMin[0]): EnMin = [100, ''] EnMin[0] = enScore EnMin[1] = ls[i][0] elif (enScore == EnMin[0]): EnMin.append(ls[i][0]) #将二维列表中每一行按照总分从大到小排序 #这里我用的是冒泡排序 for i in range(1,len(ls)): for j in range(i+1,len(ls)): if ls[i][4]
这段代码是可以正常运行的,但是更新最大最小成绩,我想把它分装成一个函数,但是运行失败了,代码我注释掉了,如果大家能看出来哪里错了的话,希望能告诉我一样。这里我只是用了最笨的方法
scores.csv
data.csv
控制台
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文将为大家简单介绍一下Python中的一个轻量级搜索工具Whoosh,并给出相应的使用示例代码,感兴趣的小伙伴可以跟随小编一起学习一下
函数装饰器是Python提供的一种增强函数功能的标记函数,本文将带大家深入学习一下Python 函数装饰器,感兴趣的同学跟随小编一起学习吧
在本篇内容里小编给大家总结的是一篇关于python中Task封装协程的知识点总结内容,有兴趣的朋友们可以跟着学习下。
今天通过园区停车信息这样一个场景分析python3 依赖倒置原则,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
Python的urllib库可以做什么?对于python爬虫应用urllib库起着重要作用,有一些朋友对于urllib库使用不是很了解,对此这篇就给大家来介绍一下urllib库的使用,文中的介绍很详细,感兴趣的朋友就跟随小编一起来学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008