如何用python实现简单的学生成绩管理系统
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍了如何用python实现简单的学生成绩管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用python实现简单的学生成绩管理系统文章都会有所收获,
千家信息网最后更新 2025年11月11日如何用python实现简单的学生成绩管理系统
这篇文章主要介绍了如何用python实现简单的学生成绩管理系统的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用python实现简单的学生成绩管理系统文章都会有所收获,下面我们一起来看看吧。
需求:
代码:
import osfilename = 'student.txt'def main(): while True: menu() choice = int(input("请选择:")) if choice in [0,1,2,3,4,5,6,7]: if choice==0: answer = input("你确定要退出吗?y/n") if answer =='y' or answer =='Y': print("谢谢使用!") break else: continue elif choice ==1: insert() elif choice ==2: search() elif choice ==3: delete() elif choice ==4: modify() elif choice ==5: sort() elif choice ==6: total() else: show()# 菜单def menu(): print("====================学生成绩管理系统=========================") print("======================功能菜单==============================") print("\t\t1、录入学生信息") print("\t\t2、查找学生信息") print("\t\t3、删除学生信息") print("\t\t4、修改学生信息") print("\t\t5、排序") print("\t\t6、统计学生人数") print("\t\t7、显示所有学生信息") print("\t\t0、退出系统") print("--------------------------------------------------------------")# 插入def insert(): student_list=[] while True: id = input('请输入ID(如1001):') if not id: break name = input('请输入姓名:') if not name: break try: english=int(input("input english grade:")) python=int(input("input python grade:")) java=int(input("input java grade:")) except: print("输入成绩无效!重新输入!") continue student = {'id':id,'name':name,'english':english,'python':python,'java':java} student_list.append(student) answer = input("是否继续添加信息!?:'y/n'") if answer == 'y': continue else: break # 调用save函数将其保存在文本当中 save(student_list) print("学生信息录入成功!")# 保存def save(lst): try: stu_txt = open(filename,'a',encoding='utf-8') except: stu_txt = open(filename,'w',encoding='utf-8') for item in lst: stu_txt.write(str(item)+'\n') stu_txt.close()# 搜索def search(): while True: student_name = input("请输入你要查找的学生姓名:") if student_name: if os.path.exists(filename): with open(filename,'r',encoding='utf-8') as rfile: student_old = rfile.readlines() else: student_old = [] if student_old: d = {} flag = False for item in student_old: d = dict(eval(item)) if d['name'] == student_name: flag = True student_show(d) else: pass else: print("无学生信息,请添加!") if flag: print("查询成功") else: print("查询失败") else: print("没有输入学生姓名!") answer = input("请问是否继续查询:y/n") if answer == "y": continue else: break# 展示个人信息def student_show(dic): format_title = '{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^8}' print(format_title.format('ID','姓名','英语成绩','python成绩','java成绩','总成绩')) format_data = '{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^8}' print(format_data.format(dic.get('id'), dic.get('name'), dic.get('english'), dic.get('python'), dic.get('java'), int(dic.get('english'))+int(dic.get('python'))+int(dic.get('java')), ))# 删除def delete(): while True: student_id = input("请输入要删除的学生ID:") if student_id: if os.path.exists(filename): with open(filename,'r',encoding='utf-8') as file: student_old = file.readlines() else: student_old=[] flag = False if student_old: with open(filename,'w',encoding='utf-8') as wfile: d={} for item in student_old: d = dict(eval(item)) if d['id']!=student_id: wfile.write(str(d)+"\n") else: flag = True if flag: print(f"{student_id}已经被删除!") else: print(f"{student_id}没有找到!") else: print("无学生信息!") break show() answer = input("是否继续删除?y/n") if answer == 'y': continue else: break else: print("请输入要删除的ID:") continue# 修改 def modify(): while True: student_id = input("请输入要修改的学生ID:") if student_id: if os.path.exists(filename): with open(filename,'r',encoding='utf-8') as file: student_old = file.readlines() else: student_old=[] if student_old: with open(filename,'w',encoding='utf-8') as wfile: d = {} for item in student_old: d = dict(eval(item)) if d['id'] == student_id: answer = input('已经找到该学生信息,是否修改:y/n?') flag = False if answer: d['name']=input("姓名:") d['english']=int(input("english:")) d['python']=int(input("python:")) d['java']=int(input("java:")) wfile.write(str(d)+"\n") flag = True else: wfile.write(str(d)+"\n") break else: wfile.write(str(d)+"\n") if flag: print("修改成功!") else: print("修改失败!") else: print("无学生信息,请添加") answer = input("请问是否继续修改?y/n") if answer == "y": continue else: break else: print("输入错误!")# 排序 def sort(): while True: if os.path.exists(filename): with open(filename,'r',encoding='utf-8') as file: student_old = file.readlines() student_new = [] d={} for item in student_old: d=dict(eval(item)) student_new.append(d) asc_and_desc = int(input("怎么排序:0 升序 1 降序:")) choice = int(input("按照什么排序:1 english 2 python 3 java 0 总成绩:")) if choice == 1: student_new.sort(key=lambda x:int(x['english']),reverse=asc_and_desc) elif choice == 2: student_new.sort(key=lambda x:int(x['python']),reverse=asc_and_desc) elif choice == 3: student_new.sort(key=lambda x:int(x['java']),reverse=asc_and_desc) elif choice == 0: student_new.sort(key=lambda x:int(x['english'])+int(x['python'])+int(x['java']),reverse=asc_and_desc) else: print("输入有误") sort() else: print("无学生信息") format_title = '{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^8}' print(format_title.format('ID','姓名','英语成绩','python成绩','java成绩','总成绩')) format_data = '{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^8}' for dic in student_new: print(format_data.format(dic.get('id'), dic.get('name'), dic.get('english'), dic.get('python'), dic.get('java'), int(dic.get('english'))+int(dic.get('python'))+int(dic.get('java')), )) answer = input("请问是否继续排序?y/n") if answer == "y": continue else: break# 总人数def total(): if os.path.exists(filename): with open(filename,'r',encoding='utf-8') as file: student_old = file.readlines() print('一共有',len(student_old),'名学生!') else: print("无人员资料") import msvcrt msvcrt.getch()# 展示def show(): if os.path.exists(filename): with open(filename,'r',encoding='utf-8') as file: student_old = file.readlines() d = {} students = [] for item in student_old: d = dict(eval(item)) students.append(d) else: print("没有信息!") if len(students): format_title = '{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^8}' print(format_title.format('ID','姓名','英语成绩','python成绩','java成绩','总成绩')) format_data = '{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^8}' for dic in students: print(format_data.format(dic.get('id'), dic.get('name'), dic.get('english'), dic.get('python'), dic.get('java'), int(dic.get('english'))+int(dic.get('python'))+int(dic.get('java')), )) else: print("无人员信息!") import msvcrt msvcrt.getch()if __name__ == '__main__': main()关于"如何用python实现简单的学生成绩管理系统"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"如何用python实现简单的学生成绩管理系统"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
学生
成绩
信息
输入
姓名
系统
管理系统
管理
排序
总成
总成绩
成功
知识
英语
查询
人数
内容
篇文章
菜单
个人
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
因特网提供网络安全服务吗
数据库安全攻击
软件开发计算机设备清单
吉林省网络安全宣传周活动启动
通州网络安全培训机构
广州舜佶网络技术
rpgmz怎么做数据库
普洱2021年网络安全宣传周
ibm工业服务器工资
nbaa数据库
查看linux服务器的运行内存
上海参考网络技术服务答疑解惑
ui基础学什么软件开发
ice服务器会不会被炸
邵阳网络安全日
计算机网络技术大学预期目标
直播对服务器
你如何看待电子商务网络安全问题
数据库保存视频失败
中小企业的网络安全政策
查看网页服务器
河南公安厅网络安全保卫总队
用java写数据库的好处
淘宝数据库怎么不卡
专业网络安全建设方案供应商
好酷高端科技范互联网
服务器硬盘10000转
无锡综合软件开发一体化
数据库的分析报告
服务器怎么发送语音