书签 分享 收藏 举报 版权申诉 / 13
上传文档赚钱

类型BANNER-Python数据分析实战课件1第6章类的应用-学生成绩管理系统.pptx

  • 上传人(卖家):momomo
  • 文档编号:7290816
  • 上传时间:2023-11-15
  • 格式:PPTX
  • 页数:13
  • 大小:83.40KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《BANNER-Python数据分析实战课件1第6章类的应用-学生成绩管理系统.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    BANNER-Python数据分析实战课件1第6章 类的应用学生成绩管理系统 BANNER Python 数据 分析 实战 课件 应用 学生 成绩管理系统
    资源描述:

    1、学生成绩管理系统功能介绍学生成绩管理系统功能实现学生基本信息的管理,主要以下功能:(1)输入并存储学生的信息:输入学生的学号、姓名、和分数,把数据保存在建立的student.txt文件里面。(2)打印学生信息:通过打印函数把学生所有信息打印在屏幕上。(3)修改学生信息:首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面。(4)删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找并进行删除。(5)按学生成绩进行排序:按照学生总分从高到底进行排序。(6)查找学生信息:输入学生学号,查找该学生的相关信息,如果查找到就输出该学生的信息,没有该

    2、学号就提示输入的学号不存在。程序设计的思路将学生信息设计成一个Student类,这里假设学生有三门课成绩。class Student:#定义一个学生类 def _init_(self):self.name=self.ID=self.score1=0#语文成绩 self.score2=0#数学成绩 self.score3=0#英语成绩 self.sum=0#总分 def sumscore(self):#计算总分 self.sum=self.score1+self.score2+self.score3 def input(self):#输入学生的信息 def output(self,file_ob

    3、ject):系统在开始使用之前先进行初始化功能,判断students.txt文件中是否保存有学生的信息。程序设计的思路对学生基本信息操作(包括查找、修改、删除、排序)时,首先是打开students.txt文件,对文件中的内容进行读取操作,然后再对每个人的信息以空格进行分隔,得到每个人的详细信息包括学生的姓名,学号,成绩,形成学生类对象并存入stuliststulist列表中。对学生基本信息的所有操作都是针对stulist列表进行,如果是添加学生,则追加写入文件中。如果是删除和修改学生,则操作完成后将stulist列表覆盖写入文件中。程序设计步骤设计Student类class Student:#

    4、定义一个学生类 def _init_(self):self.name=self.ID=self.score1=0#语文成绩 self.score2=0#数学成绩 self.score3=0#英语成绩 self.sum=0#总分 def sumscore(self):#计算总分 self.sum=self.score1+self.score2+self.score3 def input(self):#输入学生的信息 self.name=input(请输入学生的姓名)self.ID=input(请输入学生的ID)self.score1=int(input(请输入学生语文成绩)self.score2

    5、=int(input(请输入学生数学成绩)self.score3=int(input(请输入学生英语成绩)self.sumscore()def output(self,file_object):#输出到文件中 print(self.name,self.ID,self.score1,self.score2,self.score3,self.sum)file_object.write(self.ID)file_object.write()file_object.write(self.name)file_object.write()file_object.write(str(self.score1)

    6、file_object.write()file_object.write(str(self.score2)file_object.write()file_object.write(str(self.score3)file_object.write()file_object.write(str(self.sum)file_object.write(n)程序设计步骤添加学生信息添加一个stu学生信息时,首先判断学号是否已经存在,如果已经存在则取消添加操作。否则根据用户选择是否保存,如果保存则以追加方式写入文件。def Add(stulist,stu):#添加一个学生信息 if searchByID

    7、(stulist,stu.ID)=True:#判断学号存在否 print(学号已经存在!)return False print(是否要保存学生信息?)nChoose=input(Choose Y/N)if nChoose=Y or nChoose=y:stulist.append(stu)#加入列表 print(stu.name,stu.ID,stu.score1,stu.score2,stu.score3,stu.sum)file_object=open(students.txt,a)#a追加方式 stu.output(file_object)#输出到文件里保存 file_object.cl

    8、ose()程序设计步骤删除学生信息 删除一个学生信息时,首先遍历stulist列表中学生的ID是否是删除的学号,如果是则从列表stulist中删除。最后采用覆盖写入方式将stulist列表中剩余学生重新写入文件中。程序设计步骤删除学生信息def Del(stulist,ID):#删除一个学生信息 count=0 flag=False for item in stulist:if item.ID=ID:stulist.remove(item)#从列表中删除 flag=True#删除成功 break count+=1 if flag=False:#或者count=len(stulist)print

    9、(没有该学生学号!)return file_object=open(students.txt,w)#覆盖写入 for stu in stulist:stu.output(file_object)print(删除保存成功!)file_object.close()程序设计步骤修改学生信息def Change(stulist,ID):#修改学生信息 count=0 flag=False for item in stulist:if item.ID=ID:flag=True stulist.remove(item)file_object=open(students.txt,w)#将stulist列表中

    10、剩余学生重新写入文件 for stu in stulist:stu.output(file_object)file_object.close()if flag=False:print(没有该学生学号!)return stu=Student()stu.input()#输入这个被修改学生的新信息 Add(stulist,stu)#添加一个stu学生信息到文件中程序设计步骤显示所有学生信息def display(stulist):#显示所有学生信息 print(学号t姓名 语文 数学 英语 总分)for item in stulist:#格式化输出 print(%5s%5s%3d%3d%3d%4d%

    11、(item.ID,item.name,item.score1,item.score2,item.score3,item.sum)程序设计步骤成绩排序 成绩排序实现按照学生成绩由高至低进行排序,在实现的时候采用比较排序算法,按照总分对stuList中保存的学生信息进行排序。def Sort(stulist):#按学生成绩排序 insertSort(stulist)#比较排序 display(stulist)def insertSort(stulist):#比较排序 for i in range(len(stulist)-1):for j in range(i+1,len(stulist):if

    12、stulisti.sumstulistj.sum:#交换 temp=stulisti stulisti=stulistj stulistj=temp stulisti,stulistj=stulistj,stulistj 程序设计步骤查询学生信息 def Search(stulist,ID):#搜索一个学生信息 print(学号t姓名t语文t数学t英语t总分)count=0 for item in stulist:if item.ID=ID:print(item.ID,t,item.name,t,item.score1,t,item.score2,t,item.score3,t,item.su

    13、m)break count=count+1 if count=len(stulist):print(没有该学生学号!)程序设计步骤初始化函数def Init(stulist):#初始化函数 if os.path.exists(students.txt):#判断文件students.txt是否存在 file_object=open(students.txt,r)for line in file_object:stu=Student()line=line.strip(n)s=line.split()#按空格分隔形成列表 stu.ID=s0 stu.name=s1 stu.score1=int(s2

    14、)stu.score2=int(s3)stu.score3=int(s4)stu.sum=s5 stulist.appendstulist.append(stustu)file_object.close()print(初始化成功!)main()程序设计步骤主函数main()是主函数,主要通过循环实现用户功能选择。def main():#程序的入口函数 while True:print(*)print(-菜单-)print(增加学生信息-1)print(查找学生信息-2)print(删除学生信息-3)print(修改学生信息-4)print(所有学生信息-5)print(按照分数排序-6)pri

    15、nt(退出程序-0)print(*)nChoose=input(请输入你的选择:)if nChoose=1:stu=Student()stu.input()Add(stulist,stu)if nChoose=2:ID=input(请输入学生的ID)Search(stulist,ID)if nChoose=3:ID=input(请输入学生的ID)Del(stulist,ID)if nChoose=4:ID=input(请输入学生的ID)Change(stulist,ID)if nChoose=5:display(stulist)if nChoose=6:Sort(stulist)if nChoose=0:break

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:BANNER-Python数据分析实战课件1第6章类的应用-学生成绩管理系统.pptx
    链接地址:https://www.163wenku.com/p-7290816.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库