当前位置:首页 > 论文发表

python 学生成绩管理小程序

要求

功能

主界面函数defmain():x=7whileTrue:menu()输入需要使用的功能数字ifx==0:y=input('您确定要退出系统吗?y/n:')ify=='y'ory=='Y':print('\n感谢使用学生成绩管理系统!')breakelse:continueelifx==1:insert()查找学生信息elifx==3:delete()修改学生信息elifx==5:sort()统计学生总人数elifx==7:show()录入学生信息student_list=[]whileTrue:id=input('请输入学生学号:')ifnotid:breakname=input('请输入学生姓名:')ifnotname:breaksex=input('请输入学生性别:')ifnotsex:breaktry:english=int(input('请输入学生英语成绩:'))python=int(input('请输入学生python成绩:'))math=int(input('请输入学生数学成绩:'))data=int(input('请输入学生数据库成绩:'))except:print('成绩录入有错,请检查后重新录入!')continuestu={'id':id,'name':name,'sex':sex,'english':english,'python':python,'math':math,'data':data}student_(stu)a=input('\n是否继续录入?y/n:')ifa=='y'ora=='Y':向文件中写入学生成绩数据print('\n学生成绩录入成功!')

2.查找学生信息

defsearch():定义一个空列表,用来保存查找出的学生信息whileTrue:id=''name=''(filename):读取文件中所有信息foriinstu:转成字典ifid!='':ifd['id']==id:判断name值与输入的是否相同,若相同则添加到结果列表中stu_(d)elifclass1!='':判断name值与输入的是否相同,若相同则添加到结果列表中stu_(d)显示查询出的学生信息stu_()删除学生信息whileTrue:show()id=input('请输入要删除的学生学号(输入0结束本功能):')ifid!='':ifid=='0':print('\n删除模块已关闭!')(filename):读取文件中所有信息else:stu_old=[]标记是否删除ifstu_old:建立一个空字典foriinstu_old:d=dict(eval(i))当id值不同时,写入到文件中w_(str(d)+'\n')else:flag=True根据标记判断信息是否删除print(f'\n学号为{id}的学生已被删除!')else:print(f'\n没有找到学号为{id}的学生信息!')else:print('\n无学生信息!')breakshow()修改学生信息whileTrue:show()id=input('\n输入要修改的学生学号(输入0退出):')ifid=='0':print('\n退出修改模块成功!')(filename):withopen(filename,'r',encoding='UTF-8')asr_file:stu_old=r_()else:returnwithopen(filename,'w',encoding='UTF-8')asw_file:flag=Falseforiinstu_old:d=dict(eval(i))ifd['id']==id:设置修改标记为已修改状态a={'id':id,'name':'','sex':'','english':0,'python':0,'math':0,'data':0}whileTrue:try:a['name']=input(f"请输入姓名({d['name']}):")a['sex']=input(f"请输入性别({d['sex']}):")a['english']=input(f"请输入英语成绩({d['english']}):")a['python']=input(f"请输入python成绩({d['python']}):")a['math']=input(f"请输入数学成绩({d['math']}):")a['data']=input(f"请输入数据结构成绩({d['data']}):")x=input('\n是否确定修改y/n,')ifx=='y'orx=='Y':d=a将修改后的信息写入文件else:w_(str(d)+'\n')ifnotflag:print('\n未查询到该学生信息!')

5.排序

6.数据统计

#篇幅原因,代码不完整,如有需要请私信我获取,谢谢!

分享到: