当前位置:   article > 正文

python学生管理系统心得体会,pythongui学生管理系统_学生信息管理系统开发总结

学生信息管理系统开发总结

大家好,小编为大家解答基于python的学生管理系统总结怎么写的问题。很多人还不知道基于python的学生管理系统总结报告,现在让我们一起来看看吧!

前言

学生管理系统是教育管理中不可或缺的重要工具,它能够有效地管理学生信息、课程安排和成绩统计等数据,为教育工作者提供了便捷的管理手段。随着信息化时代的到来,基于计算机技术的学生管理系统更是成为了教育机构必备的利器如何用python画不同大小的满天星

在博客中,我将分享基于 Python 的学生管理系统开发经验,以及我的设计思路和开发实践。Python 作为一种简洁、高效的编程语言,具有丰富的库和框架,使得开发学生管理系统变得更加轻松和高效。

一、系统需求分析

1.1 可行性分析:

  1. 技术可行性

  2. 成本效益分析

  3. 法律合规和安全风险

  4. 用户体验和功能需求

1.2 功能需求分析:

  • 录入学生信息:可以输入学生的学号、姓名、性别和年龄,将学生信息保存到文件中。
  • 查找学生信息:可以通过学生的姓名来查找学生信息,并将查询结果显示出来。
  • 删除学生信息:可以通过学生的学号来删除学生的信息,如果找到匹配的学生信息,则将其从文件中删除。
  • 修改学生信息:可以通过学生的学号来修改学生的信息,包括学号、姓名、性别和年龄。
  • 显示所有学生信息:将文件中所有学生的信息进行展示。

二、系统流程设计

2.1 组织结构分析

  • 用户界面层:即菜单界面和输入输出界面,用于与用户进行交互,提示用户选择操作,接收用户输入的参数并将结果显示给用户。
  • 业务逻辑层:即各个功能函数的实现,包括录入学生信息、查找学生信息、删除学生信息、修改学生信息等功能的具体实现过程。这一层主要进行对数据的增删改查等操作。
  • 数据存储层:即文件读写,将学生的信息存储到文件中,以便下次使用时读取。

整个系统按照MVC模式(Model-View-Controller)进行梳理,其中菜单界面和输入输出界面为View,各个功能函数为Controller,文件读写为Model。通过这种设计,可以使得系统更加清晰,方便维护和扩展。

2.2 功能结构分析

1.数据存储模块:该模块主要负责学生信息的录入和读取。它包括以下子模块:

  • 数据库连接模块:建立与存储学生信息的数据库的连接。
  • 数据库操作模块:实现对学生信息的增、删、改、查等操作,如插入新的学生记录、更新学生信息、删除指定的学生记录、查询符合条件的学生信息等。
  • 文件读写模块:将学生信息保存在文件中,并支持文件的读取和写入,以实现学生信息的永久存储和可靠性保障。
  • 用户界面模块:该模块主要负责与用户进行交互,提供菜单选项和接收用户输入。用户可以通过菜单选择不同的功能操作,如录入、查找、删除、修改和显示学生信息。

2.功能操作模块:该模块负责对学生信息进行具体的操作。它包括以下子模块:

  • 录入学生信息模块:接收用户输入的学生信息并将其保存到数据库或文件中。
  • 查找学生信息模块:根据用户提供的条件,在数据库或文件中查找匹配的学生信息,并返回结果给用户。
  • 删除学生信息模块:根据用户提供的条件,从数据库或文件中删除匹配的学生信息。
  • 修改学生信息模块:根据用户提供的条件,更新数据库或文件中匹配的学生信息。

3.结果显示模块:该模块负责将操作结果以可读性良好的方式展示给用户。它可以将查询结果、删除/修改成功与否等信息输出到用户界面上。

三、系统实现

  1. import os
  2. studentFile = "students.txt"
  3. def menu():
  4. print('''
  5. 学生信息管理系统V1.0
  6. ------------------------功能菜单-------------------
  7. 1.录入学生信息
  8. 2.查找学生信息
  9. 3.删除学生信息
  10. 4.修改学生信息
  11. 5.显示所有学生信息
  12. 0.退出系统
  13. ------------------------功能菜单--------------------
  14. ''')
  15. def main():
  16. if not os.path.exists(studentFile):
  17. with open(studentFile,'w',encoding='utf8')as fp:
  18. pass #空语句
  19. while (True):
  20. menu() # 显示菜单
  21. select= input("请选择:") # 选择菜单项
  22. if select in ['0','1','2','3','4', '5']:
  23. select = int (select)
  24. if select == 0: # 退出系统
  25. print('您已退出学生信息管理系统!')
  26. break
  27. elif select == 1:
  28. insert()
  29. elif select == 2:
  30. search()
  31. elif select == 3:
  32. delete()
  33. elif select == 4:
  34. modify()
  35. elif select == 5:
  36. showAll()
  37. #将学生信息保存到文件
  38. def studentSave(studentInfo):
  39. try:#异常处理
  40. studentFp= open(studentFile,"a",encoding='utf8') # 以追加模式打开
  41. except Exception as e:
  42. studentFp= open(studentFile,"w",encoding='utf8') # 文件不存在,创建文件并打开
  43. for student in studentInfo:
  44. studentFp.write(str(student) +"\n")# 控行存储,帮加换行符
  45. studentFp.close() # 关闭文件
  46. #显示所有学生信息
  47. def studentShow(result):
  48. print("\n{:^32s}\n".format('显示学生结果信息'))
  49. print("{:^8s}{:^8s}{:^8s}{:^8s}".format('学号','姓名','性别','年龄'))
  50. print("-"*40)
  51. for value in result:
  52. print("|{:^8s}|{:^8s}|{:^8s}|{:^8s}|".format(value['studentId'],value['studentName'],value['studentGender'],value['studentAge']))
  53. print("-"*40)
  54. #录入学生信息
  55. def insert():
  56. studentInfo = []
  57. flag = True
  58. while flag:
  59. studentId = input("请输入学号:")
  60. while(not studentId):
  61. print("请输入学号!")
  62. studentId = input("请输入学号:")
  63. studentName = input("请输入姓名:")
  64. while(not studentName):
  65. print("请输入姓名!")
  66. studentName = input("请输入姓名:")
  67. studentGender = input("请输入性别:")
  68. while(not studentGender):
  69. print("请输入性别!")
  70. studentGender = input("请输入性别:")
  71. while(True):
  72. studentAge = input("请输入年龄: ")
  73. break
  74. student = {"studentId":studentId,"studentName":studentName,"studentGender":studentGender,"studentAge":studentAge}
  75. studentInfo.append(student)
  76. inputflag = input("是否继续添加?(y/n):")
  77. if inputflag == "y":
  78. flag = True
  79. else:
  80. flag = False
  81. studentSave(studentInfo)
  82. print("学生信息录入并保存完毕!!!")
  83. #查找学生信息,按姓名查找
  84. def search():
  85. flag = True
  86. result = []
  87. while flag:
  88. name = ""
  89. if os.path.exists(studentFile):
  90. name = input("请输入学生姓名:")
  91. if(not name):
  92. print("您的输入有误,请重新输入!")
  93. continue
  94. with open(studentFile,'r',encoding = 'utf8')as fp:
  95. student = fp.readlines()
  96. for value in student:
  97. temp = dict(eval(value))
  98. if temp['studentName']==name:
  99. result.append(temp)
  100. print(result)
  101. studentShow(result)
  102. result.clear()
  103. flag = input("是否继续查询?(y/n):")
  104. if flag == 'n':
  105. flag = False
  106. elif flag == 'y':
  107. flag = True
  108. else:
  109. print("请重新输入姓名:")
  110. flag = True
  111. #删除学生信息,按照ID来删除学生,不要用姓名来删除学生
  112. def delete():
  113. flag = True
  114. student = []
  115. while flag:
  116. if os.path.exists(studentFile):
  117. studentId = input("请输入学生学号:")
  118. if(not studentId):
  119. print("您的输入有误,请重新输入!")
  120. continue
  121. with open(studentFile,'r',encoding = 'utf8')as fp:
  122. student = fp.readlines()
  123. delflag = False
  124. if student:
  125. with open(studentFile,'w',encoding='utf8')as fp:
  126. for value in student:
  127. temp = dict(eval(value))
  128. if temp['studentId']!=studentId:
  129. fp.write(str(temp)+"\n")
  130. else:
  131. delflag = True
  132. if delflag:
  133. print("学号为{}的学生的信息已经被删除...".format(studentId))
  134. else:
  135. print("没有找到学号为{}的学生的信息...".format(studentId))
  136. flag = input("是否继续删除?(y/n):")
  137. if flag == 'n':
  138. flag = False
  139. elif flag == 'y':
  140. flag = True
  141. else:
  142. print("请重新输入学号:")
  143. flag = True
  144. #修改学生信息,通过studentId修改学生信息
  145. def modify():
  146. if os.path.exists(studentFile):
  147. showAll()
  148. with open(studentFile,'r',encoding = 'utf-8')as fp:
  149. student = fp.readlines()
  150. studentId = input("请输入要修改的学生的学号:")
  151. with open(studentFile,'w',encoding='utf8')as fp:
  152. for value in student:
  153. temp = dict(eval(value))
  154. if temp['studentId'] == studentId:
  155. print("正在修改他的信息!")
  156. while True:
  157. try:
  158. temp["studentId"] = input("请输入学号:")
  159. temp["studentName"] = input("请输入姓名:")
  160. temp["studentGender"] = input("请输入性别:")
  161. temp["studentAge"] = input("请输入年龄:")
  162. except:
  163. print("您的输入有误,请重新输入!")
  164. else:
  165. break
  166. fp.write(str(temp)+"\n")
  167. print("修改成功!")
  168. else:
  169. fp.write(str(temp)+"\n")
  170. else:
  171. print("没有任何学生的信息。")
  172. return
  173. flag = input("是否继续修改其他学生的信息?(y/n):")
  174. if flag =="y":
  175. modify()
  176. elif flag == 'n':
  177. return
  178. #显示学生信息
  179. def showAll():
  180. result = []
  181. if os.path.exists(studentFile):
  182. with open(studentFile,'r',encoding = 'utf8')as fp:
  183. student = fp.readlines()
  184. if student:
  185. for value in student:
  186. result.append(eval(value))
  187. if result:
  188. studentShow(result)
  189. else:
  190. print("没有任何学生的信息...")
  191. else:
  192. print("没有任何学生的信息...")
  193. #程序运行
  194. if name == "main":
  195. main()

总结

基于Python开发的学生信息管理系统是一个功能丰富、用户友好且具有数据持久化能力的应用程序。系统通过Python编程语言和相关技术实现,包括数据库存储、用户界面设计等。其架构设计包括数据存储模块、用户界面模块、功能操作模块和结果显示模块等。在开发过程中,需进行系统需求分析、技术选型、代码编写和调试测试等环节。系统实现了学生信息的录入、查找、修改、删除和显示等功能,方便用户对学生信息进行灵活处理。通过截图或视频展示系统的运行效果,读者可以全面了解系统的功能和操作界面。总结而言,基于Python开发的学生信息管理系统为学校和机构提供了一种高效、可靠的学生信息管理工具,同时也展示了Python在实际项目中的应用价值。

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览419414 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/594773
推荐阅读
相关标签
  

闽ICP备14008679号