赞
踩
大家好,小编为大家解答基于python的学生管理系统总结怎么写的问题。很多人还不知道基于python的学生管理系统总结报告,现在让我们一起来看看吧!
学生管理系统是教育管理中不可或缺的重要工具,它能够有效地管理学生信息、课程安排和成绩统计等数据,为教育工作者提供了便捷的管理手段。随着信息化时代的到来,基于计算机技术的学生管理系统更是成为了教育机构必备的利器如何用python画不同大小的满天星。
在博客中,我将分享基于 Python 的学生管理系统开发经验,以及我的设计思路和开发实践。Python 作为一种简洁、高效的编程语言,具有丰富的库和框架,使得开发学生管理系统变得更加轻松和高效。
技术可行性
成本效益分析:
法律合规和安全风险:
用户体验和功能需求:
整个系统按照MVC模式(Model-View-Controller)进行梳理,其中菜单界面和输入输出界面为View,各个功能函数为Controller,文件读写为Model。通过这种设计,可以使得系统更加清晰,方便维护和扩展。
1.数据存储模块:该模块主要负责学生信息的录入和读取。它包括以下子模块:
2.功能操作模块:该模块负责对学生信息进行具体的操作。它包括以下子模块:
3.结果显示模块:该模块负责将操作结果以可读性良好的方式展示给用户。它可以将查询结果、删除/修改成功与否等信息输出到用户界面上。
- import os
- studentFile = "students.txt"
- def menu():
- print('''
- 学生信息管理系统V1.0
- ------------------------功能菜单-------------------
- 1.录入学生信息
- 2.查找学生信息
- 3.删除学生信息
- 4.修改学生信息
- 5.显示所有学生信息
- 0.退出系统
- ------------------------功能菜单--------------------
- ''')
- def main():
- if not os.path.exists(studentFile):
- with open(studentFile,'w',encoding='utf8')as fp:
- pass #空语句
- while (True):
- menu() # 显示菜单
- select= input("请选择:") # 选择菜单项
- if select in ['0','1','2','3','4', '5']:
- select = int (select)
- if select == 0: # 退出系统
- print('您已退出学生信息管理系统!')
- break
- elif select == 1:
- insert()
- elif select == 2:
- search()
- elif select == 3:
- delete()
- elif select == 4:
- modify()
- elif select == 5:
- showAll()
- #将学生信息保存到文件
- def studentSave(studentInfo):
- try:#异常处理
- studentFp= open(studentFile,"a",encoding='utf8') # 以追加模式打开
- except Exception as e:
- studentFp= open(studentFile,"w",encoding='utf8') # 文件不存在,创建文件并打开
- for student in studentInfo:
- studentFp.write(str(student) +"\n")# 控行存储,帮加换行符
- studentFp.close() # 关闭文件
- #显示所有学生信息
- def studentShow(result):
- print("\n{:^32s}\n".format('显示学生结果信息'))
- print("{:^8s}{:^8s}{:^8s}{:^8s}".format('学号','姓名','性别','年龄'))
- print("-"*40)
- for value in result:
- print("|{:^8s}|{:^8s}|{:^8s}|{:^8s}|".format(value['studentId'],value['studentName'],value['studentGender'],value['studentAge']))
- print("-"*40)
- #录入学生信息
- def insert():
- studentInfo = []
- flag = True
- while flag:
- studentId = input("请输入学号:")
- while(not studentId):
- print("请输入学号!")
- studentId = input("请输入学号:")
- studentName = input("请输入姓名:")
- while(not studentName):
- print("请输入姓名!")
- studentName = input("请输入姓名:")
- studentGender = input("请输入性别:")
- while(not studentGender):
- print("请输入性别!")
- studentGender = input("请输入性别:")
- while(True):
- studentAge = input("请输入年龄: ")
- break
- student = {"studentId":studentId,"studentName":studentName,"studentGender":studentGender,"studentAge":studentAge}
- studentInfo.append(student)
- inputflag = input("是否继续添加?(y/n):")
- if inputflag == "y":
- flag = True
- else:
- flag = False
- studentSave(studentInfo)
- print("学生信息录入并保存完毕!!!")
- #查找学生信息,按姓名查找
- def search():
- flag = True
- result = []
- while flag:
- name = ""
- if os.path.exists(studentFile):
- name = input("请输入学生姓名:")
- if(not name):
- print("您的输入有误,请重新输入!")
- continue
- with open(studentFile,'r',encoding = 'utf8')as fp:
- student = fp.readlines()
- for value in student:
- temp = dict(eval(value))
- if temp['studentName']==name:
- result.append(temp)
- print(result)
-
- studentShow(result)
- result.clear()
- flag = input("是否继续查询?(y/n):")
- if flag == 'n':
- flag = False
- elif flag == 'y':
- flag = True
- else:
- print("请重新输入姓名:")
- flag = True
- #删除学生信息,按照ID来删除学生,不要用姓名来删除学生
- def delete():
- flag = True
- student = []
- while flag:
- if os.path.exists(studentFile):
- studentId = input("请输入学生学号:")
- if(not studentId):
- print("您的输入有误,请重新输入!")
- continue
- with open(studentFile,'r',encoding = 'utf8')as fp:
- student = fp.readlines()
- delflag = False
- if student:
- with open(studentFile,'w',encoding='utf8')as fp:
- for value in student:
- temp = dict(eval(value))
- if temp['studentId']!=studentId:
- fp.write(str(temp)+"\n")
- else:
- delflag = True
- if delflag:
- print("学号为{}的学生的信息已经被删除...".format(studentId))
- else:
- print("没有找到学号为{}的学生的信息...".format(studentId))
-
- flag = input("是否继续删除?(y/n):")
- if flag == 'n':
- flag = False
- elif flag == 'y':
- flag = True
- else:
- print("请重新输入学号:")
- flag = True
- #修改学生信息,通过studentId修改学生信息
- def modify():
- if os.path.exists(studentFile):
- showAll()
- with open(studentFile,'r',encoding = 'utf-8')as fp:
- student = fp.readlines()
- studentId = input("请输入要修改的学生的学号:")
- with open(studentFile,'w',encoding='utf8')as fp:
- for value in student:
- temp = dict(eval(value))
- if temp['studentId'] == studentId:
- print("正在修改他的信息!")
- while True:
- try:
- temp["studentId"] = input("请输入学号:")
- temp["studentName"] = input("请输入姓名:")
- temp["studentGender"] = input("请输入性别:")
- temp["studentAge"] = input("请输入年龄:")
- except:
- print("您的输入有误,请重新输入!")
- else:
- break
- fp.write(str(temp)+"\n")
- print("修改成功!")
- else:
- fp.write(str(temp)+"\n")
- else:
- print("没有任何学生的信息。")
- return
- flag = input("是否继续修改其他学生的信息?(y/n):")
- if flag =="y":
- modify()
- elif flag == 'n':
- return
- #显示学生信息
- def showAll():
- result = []
- if os.path.exists(studentFile):
- with open(studentFile,'r',encoding = 'utf8')as fp:
- student = fp.readlines()
- if student:
- for value in student:
- result.append(eval(value))
- if result:
- studentShow(result)
- else:
- print("没有任何学生的信息...")
- else:
- print("没有任何学生的信息...")
- #程序运行
- if name == "main":
- main()
基于Python开发的学生信息管理系统是一个功能丰富、用户友好且具有数据持久化能力的应用程序。系统通过Python编程语言和相关技术实现,包括数据库存储、用户界面设计等。其架构设计包括数据存储模块、用户界面模块、功能操作模块和结果显示模块等。在开发过程中,需进行系统需求分析、技术选型、代码编写和调试测试等环节。系统实现了学生信息的录入、查找、修改、删除和显示等功能,方便用户对学生信息进行灵活处理。通过截图或视频展示系统的运行效果,读者可以全面了解系统的功能和操作界面。总结而言,基于Python开发的学生信息管理系统为学校和机构提供了一种高效、可靠的学生信息管理工具,同时也展示了Python在实际项目中的应用价值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。