当前位置:   article > 正文

python小项目:学生管理系统(可以让你满分的期末设计作业)_def update(): global ispream if ispream ==1: stude

def update(): global ispream if ispream ==1: studentname = input("请输入要修

前言:

哈喽大家好,不知道大家本学期有没有学习python课程,临近期末,是不是正在为了期末python设计作业发愁,哈哈哈哈不用担心,本期本博主为大家带来了一个操作简单,但是集合了各个知识点的用法的项目———学生管理系统

学会了这个项目可以让大家很好的练习与了解python的基础操作,在python的学习中更上一层楼,而不是草率的交一个学长的陈年老代码应付差事。话不多说,上操作吧

(完整版代码在最下边,复制到pycharm就直接能用了!)

首先是“系统”的入口,我们要打印一个菜单,说明这个项目的作者是谁,然后就是基于系统的各种操作,无非就是哪几种,增删查改嘛!

menu函数:

  1. def menu():
  2. print("输入:1.新增学生")
  3. print("输入:2.显示学生")
  4. print("输入:3.查找学生")
  5. print("输入:4.删除学生")
  6. print("输入:5.修改学生")
  7. print("输入:0.退出程序")
  8. choice = input("请输入你的选择:")
  9. return choice

main函数:

  1. # 入口
  2. def main():
  3. print("--------------------------------------")
  4. print(" 贰月磐石的学生管理系统 ")
  5. print("--------------------------------------")
  6. load()
  7. while True:
  8. c = menu()
  9. if c == '1':
  10. # 新增学生
  11. insert()
  12. elif c == '2':
  13. # 显示所有学生
  14. show()
  15. elif c == '3':
  16. # 查找学生
  17. find()
  18. elif c == '4':
  19. # 删除学生
  20. delete()
  21. elif c== '5':
  22. #修改信息
  23. update()
  24. elif c == '0':
  25. # 退出程序
  26. print("程序退出")
  27. sys.exit(0)
  28. else:
  29. print()
  30. print("输入有误,重新输入")
  31. print()

代码通俗易懂,六种操作,增 显 查 删 改 退 分别对应1 2 3 4 5 0 

否则就会告诉用户,你输入错了,要重新输入!

细心的小伙伴会发现,在main函数里,还有一个自定义函数load,那么它的作用是什么呢?

让我们边看代码边讲解:

load函数:

  1. def load():
  2. # 文件不存在,就跳过读档
  3. if not os.path.exists('student.txt'):
  4. return
  5. global students
  6. # 清空列表
  7. students = []
  8. with open('student.txt', 'r', encoding='utf8') as f:
  9. for line in f:
  10. # 去除换行符
  11. line = line.strip()
  12. t = line.split('\t')
  13. # 检查行信息是否完整
  14. if len(t) != 4:
  15. print("文件中的行信息不完整:", line)
  16. continue
  17. student = {
  18. '学号': t[0],
  19. '名字': t[1],
  20. '性别': t[2],
  21. '班级': t[3]
  22. }
  23. students.append(student)
  24. print(f"目前文件存储了{len(students)}个学生")

我们在与这个项目同目录下,新建一个txt文件,用来存放我们要管理的学生的数据

使用这个函数里的文件操作,还需要两个插件:

import os.path
import sys

这两个插件,在复制完整代码时,直接下载就会了

以上代码的内容就是对文件的基本操作,看不懂的同学简单搜索一下,就能看懂这个操作了

student.txt文件

首先你创建的txt必须和py文件同目录

这是文件里的格式

然后是五个操作的函数

insert函数:

  1. def insert():
  2. print("[新增学生开始]")
  3. studentID = input('请输入学生学号:')
  4. name = input("请您输入学生姓名:")
  5. gender = input("请输入学生性别(注意本系统不支持美国性别,如:沃尔玛购物袋):")
  6. if gender not in ("男", "女"):
  7. print("性别都能出错,你二波一啊")
  8. print("新增失败了你个二波一,赶紧重新开始")
  9. return
  10. classname = input("请输入学生的班级:")
  11. student_info = {
  12. '学号': studentID,
  13. '名字': name,
  14. '性别': gender,
  15. '班级': classname
  16. }
  17. global students
  18. students.append(student_info)
  19. save()
  20. print("\n[新增学生结束]\n")

对学生进行增加操作

show函数:

  1. def show():
  2. # 遍历全局变量的列表
  3. print("开始显示学生:")
  4. for i in students:
  5. print(f'{i["学号"]}\t{i["名字"]}\t{i["性别"]}\t{i["班级"]}')
  6. print(f"全部学生打印完毕,一共是有:{len(students)}人\n ")

对文件中现存的所有学生进行显示

find函数:

  1. def find():
  2. #根据姓名查找
  3. print("开始查找")
  4. cnt=0
  5. name=input("请输入要查找同学的姓名:")
  6. for i in students:
  7. if name == i["名字"]:
  8. print(f'{i["学号"]}\t{i["名字"]}\t{i["性别"]}\t{i["班级"]}')
  9. cnt+=1
  10. print(f"查找结束,共找到{cnt}个名字为{name}的学生\n")

按照学生姓名进行查找操作,大家有兴趣可以自己写按照学号查找,不写也无伤大雅

delete函数:

  1. def delete():
  2. print("删除学生开始\n")
  3. studentid=input("请输入要删除学生的学号:")
  4. for i in students:
  5. if studentid==i["学号"]:
  6. print(f"即将删除学号为{studentid}的学生")
  7. students.remove(i)
  8. save()
  9. print("删除结束")

根据学号对学生进行删除操作,大家有兴趣可以自己写按照姓名删除,不写也无伤大雅

update函数:

  1. def update():
  2. print("[修改学生信息]")
  3. studentid = input("请输入要修改信息的学生学号: ")
  4. for i in students:
  5. if studentid == i["学号"]:
  6. print(f"{i['学号']}\t{i['名字']}\t{i['性别']}\t{i['班级']}")
  7. new_name = input("请输入新的学生姓名: ")
  8. new_gender = input("请输入新的学生性别: ")
  9. new_classname = input("请输入新的学生班级: ")
  10. if new_name:
  11. i['名字'] = new_name
  12. if new_gender:
  13. i['性别'] = new_gender
  14. if new_classname:
  15. i['班级'] = new_classname
  16. print("学生信息已更新。")
  17. save() # 保存修改后的信息到文件
  18. return
  19. print(f"找不到学生学号为 {studentid} 的信息。")
  20. print("\n[修改学生信息结束]\n")

根据学号对学生进行修改操作,大家有兴趣可以自己写按照姓名修改,不写也无伤大雅

以上就是我们项目的基本操作 增删查改显 代码通俗易懂,还有大量的注释以供大家参考,如果有不懂的地方,可以在评论区或者私信给博主,一定知无不言。

完整版代码:

  1. import os.path
  2. import sys
  3. students = []
  4. def save():
  5. # 存入文件
  6. #相对路径
  7. with open("student.txt",'w',encoding='utf8')as f:
  8. for i in students :
  9. f.write(f'{i["学号"]}\t{i["名字"]}\t{i["性别"]}\t{i["班级"]}\n')
  10. print(f"存档成功,成功存储了{len(students)}个同学")
  11. def load():
  12. # 文件不存在,就跳过读档
  13. if not os.path.exists('student.txt'):
  14. return
  15. global students
  16. # 清空列表
  17. students = []
  18. with open('student.txt', 'r', encoding='utf8') as f:
  19. for line in f:
  20. # 去除换行符
  21. line = line.strip()
  22. t = line.split('\t')
  23. # 检查行信息是否完整
  24. if len(t) != 4:
  25. print("文件中的行信息不完整:", line)
  26. continue
  27. student = {
  28. '学号': t[0],
  29. '名字': t[1],
  30. '性别': t[2],
  31. '班级': t[3]
  32. }
  33. students.append(student)
  34. print(f"目前文件存储了{len(students)}个学生")
  35. def menu():
  36. print("输入:1.新增学生")
  37. print("输入:2.显示学生")
  38. print("输入:3.查找学生")
  39. print("输入:4.删除学生")
  40. print("输入:5.修改学生")
  41. print("输入:0.退出程序")
  42. choice = input("请输入你的选择:")
  43. return choice
  44. def insert():
  45. print("[新增学生开始]")
  46. studentID = input('请输入学生学号:')
  47. name = input("请您输入学生姓名:")
  48. gender = input("请输入学生性别(注意本系统不支持美国性别,如:沃尔玛购物袋):")
  49. if gender not in ("男", "女"):
  50. print("性别都能出错,你二波一啊")
  51. print("新增失败了你个二波一,赶紧重新开始")
  52. return
  53. classname = input("请输入学生的班级:")
  54. student_info = {
  55. '学号': studentID,
  56. '名字': name,
  57. '性别': gender,
  58. '班级': classname
  59. }
  60. global students
  61. students.append(student_info)
  62. save()
  63. print("\n[新增学生结束]\n")
  64. def show():
  65. # 遍历全局变量的列表
  66. print("开始显示学生:")
  67. for i in students:
  68. print(f'{i["学号"]}\t{i["名字"]}\t{i["性别"]}\t{i["班级"]}')
  69. print(f"全部学生打印完毕,一共是有:{len(students)}人\n ")
  70. def find():
  71. #根据姓名查找
  72. print("开始查找")
  73. cnt=0
  74. name=input("请输入要查找同学的姓名:")
  75. for i in students:
  76. if name == i["名字"]:
  77. print(f'{i["学号"]}\t{i["名字"]}\t{i["性别"]}\t{i["班级"]}')
  78. cnt+=1
  79. print(f"查找结束,共找到{cnt}个名字为{name}的学生\n")
  80. def delete():
  81. print("删除学生开始\n")
  82. studentid=input("请输入要删除学生的学号:")
  83. for i in students:
  84. if studentid==i["学号"]:
  85. print(f"即将删除学号为{studentid}的学生")
  86. students.remove(i)
  87. save()
  88. print("删除结束")
  89. def update():
  90. print("[修改学生信息]")
  91. studentid = input("请输入要修改信息的学生学号: ")
  92. for i in students:
  93. if studentid == i["学号"]:
  94. print(f"{i['学号']}\t{i['名字']}\t{i['性别']}\t{i['班级']}")
  95. new_name = input("请输入新的学生姓名: ")
  96. new_gender = input("请输入新的学生性别: ")
  97. new_classname = input("请输入新的学生班级: ")
  98. if new_name:
  99. i['名字'] = new_name
  100. if new_gender:
  101. i['性别'] = new_gender
  102. if new_classname:
  103. i['班级'] = new_classname
  104. print("学生信息已更新。")
  105. save() # 保存修改后的信息到文件
  106. return
  107. print(f"找不到学生学号为 {studentid} 的信息。")
  108. print("\n[修改学生信息结束]\n")
  109. # 入口
  110. def main():
  111. print("--------------------------------------")
  112. print(" 贰月磐石的学生管理系统 ")
  113. print("--------------------------------------")
  114. load()
  115. while True:
  116. c = menu()
  117. if c == '1':
  118. # 新增学生
  119. insert()
  120. elif c == '2':
  121. # 显示所有学生
  122. show()
  123. elif c == '3':
  124. # 查找学生
  125. find()
  126. elif c == '4':
  127. # 删除学生
  128. delete()
  129. elif c== '5':
  130. #修改信息
  131. update()
  132. elif c == '0':
  133. # 退出程序
  134. print("程序退出")
  135. sys.exit(0)
  136. else:
  137. print()
  138. print("输入有误,重新输入")
  139. print()
  140. main()

好的以上就是学生管理系统代码的全部操作,感觉有用的小伙伴可以点点关注点赞支持一下

谢谢大家!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/747044
推荐阅读
相关标签
  

闽ICP备14008679号