当前位置:   article > 正文

Python--关于学生信息管理系统的课设

Python--关于学生信息管理系统的课设

课设描叙:

有新生来报到,要逐个录入其信息,如:学生姓名,性别,专业,出生日期,家庭地址,英语入学成绩。要求设计链表类来实现,并统计学生人数。文本界面为:

1. 新增学生信息

2. 删除学生信息

3. 导入学生信息(已经保存于的文件信息)

4. 学生信息搜索(按学号

5. 学生信息统计(按专业或性别或年龄---年龄要自动计算)

6. 按英语成绩排序

7. 学生信息保存

8. 退出

  1. def gn0():
  2. for s in sum:
  3. print("姓名" + s["姓名"] + "\t" + "性别" + s["性别"] + "\t" + "学号" + s["学号"] + "\t" + "专业" + s[
  4. "专业"] + "\t" + "出生日期" + s["出生日期"] + "\t" + "家庭住址" + s["家庭住址"] + "\t" + "英语入学成绩" + s[
  5. "英语入学成绩"])
  6. print("")
  7. def gn1():
  8. number = 1
  9. cou = input("请输入要新增学生信息的个数:")
  10. while int(number) <= int(cou):
  11. sname = input("请输入新生姓名:")
  12. ssex = input("请输入新生性别:")
  13. sid = input("请输入新生学号:")
  14. spro = input("请输入新生专业:")
  15. sbirth = input("请输入新生出生日期:")
  16. saddress = input("请输入新生家庭住址:")
  17. sscore = input("请输入新生英语入学成绩:")
  18. print(f"第{number}位新生的信息已添加完毕!")
  19. print("")
  20. s = {
  21. "姓名": sname,
  22. "性别": ssex,
  23. "学号": sid,
  24. "专业": spro,
  25. "出生日期": sbirth,
  26. "家庭住址": saddress,
  27. "英语入学成绩": sscore
  28. }
  29. sum.append(s)
  30. number += 1
  31. def gn2():
  32. coun1 = input("请输入要插入学生信息的个数:")
  33. sname = input("请输入要插入的新生姓名:")
  34. ssex = input("请输入要插入的新生性别:")
  35. sid = input("请输入要插入的新生学号:")
  36. spro = input("请输入要插入的新生专业:")
  37. sbirth = input("请输入要插入的新生出生日期:")
  38. saddress = input("请输入要插入的新生家庭住址:")
  39. sscore = input("请输入要插入的新生英语入学成绩:")
  40. print("学生信息插入完毕!")
  41. print("")
  42. s = {
  43. "姓名": sname,
  44. "性别": ssex,
  45. "学号": sid,
  46. "专业": spro,
  47. "出生日期": sbirth,
  48. "家庭住址": saddress,
  49. "英语入学成绩": sscore
  50. }
  51. sum.append(s)
  52. def gn3():
  53. a = 0
  54. num = input("请输入要删除信息的学生学号:")
  55. for element in sum:
  56. if element["学号"] == num:
  57. a = 1
  58. sum.remove(element)
  59. print("删除成功!")
  60. if a == 0:
  61. print("没有找到该学号的学生信息!")
  62. def gn4():
  63. m = 0
  64. num = input("请输入要修改信息的学生学号:")
  65. for ss in sum:
  66. if ss["学号"] == num:
  67. s = 1
  68. ss["姓名"] = input("请重新输入学生姓名:")
  69. ss["性别"] = input("请重新输入学生性别:")
  70. ss["专业"] = input("请重新输入学生专业:")
  71. ss["出生日期"] = input("请重新输入学生出生日期:")
  72. ss["家庭住址"] = input("请重新输入学生家庭住址:")
  73. ss["英语入学成绩"] = input("请重新输入学生英语入学成绩:")
  74. if m == 0:
  75. print("没有找到该学生的信息")
  76. def gn5():
  77. sname = ""
  78. ssex = ""
  79. sid = ""
  80. spro = ""
  81. sbirth = ""
  82. saddress = ""
  83. sscore = ""
  84. c = {
  85. "姓名": sname,
  86. "性别": ssex,
  87. "学号": sid,
  88. "专业": spro,
  89. "出生日期": sbirth,
  90. "家庭住址": saddress,
  91. "英语入学成绩": sscore
  92. }
  93. f = open("C:/Users/yangy/Desktop/file.txt", "r", encoding='UTF-8')
  94. b = f.readlines()
  95. for x in b:
  96. x = x.strip()
  97. a = x.split(",")
  98. c["姓名"] = a[0]
  99. c["性别"] = a[1]
  100. c["学号"] = a[2]
  101. c["专业"] = a[3]
  102. c["出生日期"] = a[4]
  103. c["家庭住址"] = a[5]
  104. c["英语入学成绩"] = a[6]
  105. print(c)
  106. sum.append(c)
  107. f.close()
  108. def gn6():
  109. b = 0
  110. numm = input("请输入要查询的学生的学号:")
  111. for s in sum:
  112. if s["学号"] == numm:
  113. b = 1
  114. print("姓名" + s["姓名"] + "\t" + "性别" + s["性别"] + "\t" + "学号" + s["学号"] + "\t" + "专业" + s[
  115. "专业"] + "\t" + "出生日期" + s["出生日期"] + "\t" + "家庭住址" + s[
  116. "家庭住址"] + "\t" + "英语入学成绩" + s["英语入学成绩"])
  117. if b == 0:
  118. print("没有找到该学号的学生信息!")
  119. def gn7():
  120. coun = 0
  121. sex = input("请输入要统计的性别:")
  122. for s in sum:
  123. if s["性别"] == sex:
  124. coun += 1
  125. print(f"性别为{sex}的学生共有{coun}个")
  126. def gn8():
  127. """
  128. 其中 key 参数为一个函数,它接受列表中的每个元素作为输入,并返回一个用于排序的键值。
  129. 使用 lambda 函数来返回每个字典的 “英语入学成绩” 键对应的值,
  130. 这样 sorted() 函数就可以按照成绩对字典进行排序。排序结果将存储在 so 列表中。
  131. """
  132. a = input("请选择升序(1)或降序(2):")
  133. if a == "1":
  134. so = sorted(sum, key=lambda x: x['英语入学成绩'])
  135. print(so)
  136. elif a == "2":
  137. so = sorted(sum,key=lambda x: x['英语入学成绩'], reverse=True)
  138. print(so)
  139. else:
  140. print("选择错误!请重新进行选择!")
  141. def gn9():
  142. f2 = open("C:/Users/yangy/Desktop/file.txt", "w", encoding='UTF-8')
  143. for x in sum:
  144. for y in x:
  145. if y != "英语入学成绩":
  146. f2.write(x[y] + ',')
  147. else:
  148. f2.write(x[y] + '\n')
  149. f2.close()
  150. password = "123"
  151. username = "1"
  152. name = input("请输入用户名:")
  153. word = input("请输入密码:")
  154. count = 0
  155. while count == 0:
  156. # 第一次成功登录
  157. if name == username:
  158. if word == password:
  159. print("恭喜您!登录成功!")
  160. break
  161. # 第一次密码错误
  162. elif word != password:
  163. print("密码错误!请重新进行登录!您还有两次机会!")
  164. name = input("请输入用户名:")
  165. word = input("请输入密码:")
  166. # 第二次成功登录
  167. if name == username:
  168. if word == password:
  169. print("恭喜您!登录成功!")
  170. break
  171. # 第二次密码错误
  172. elif word != password:
  173. print("密码错误!请重新进行登录!您还有一次机会!")
  174. name = input("请输入用户名:")
  175. word = input("请输入密码:")
  176. # 第三次登录成功
  177. if name == username:
  178. if word == password:
  179. print("恭喜您!登录成功!")
  180. break
  181. # 第三次密码错误
  182. elif word != password:
  183. print("密码错误!登录失败!已为您进行退出!")
  184. count = 1
  185. # 第一次用户名错误
  186. elif name != username:
  187. print("用户名错误!请重新进行登录!您还有两次机会!")
  188. name = input("请输入用户名:")
  189. word = input("请输入密码:")
  190. # 第二次成功登录
  191. if name == username:
  192. if word == password:
  193. print("恭喜您!登录成功!")
  194. break
  195. # 第二次密码错误
  196. elif word != password:
  197. print("密码错误!请重新进行登录!您还有一次机会!")
  198. name = input("请输入用户名:")
  199. word = input("请输入密码:")
  200. # 第三次成功登录
  201. if name == username:
  202. if word == password:
  203. print("恭喜您!登录成功!")
  204. break
  205. # 第三次密码错误
  206. elif word != password:
  207. print("密码错误!登录失败!已为您进行退出!")
  208. count = 1
  209. # 第二次用户名错误
  210. elif name != username:
  211. print("用户名错误!请重新进行登录!您还有一次机会!")
  212. name = input("请输入用户名:")
  213. word = input("请输入密码:")
  214. # 第三次成功登录
  215. if name == username:
  216. if word == password:
  217. print("恭喜您!登录成功!")
  218. break
  219. # 第三次密码错误
  220. elif word != password:
  221. print("密码错误!登录失败!已为您进行退出!")
  222. count = 1
  223. # 第三次用户名错误
  224. elif name != username:
  225. print("用户名错误!登录失败!已为您进行退出!")
  226. count = 1
  227. # 列表和字典
  228. s = dict()
  229. sum = list()
  230. d = 0
  231. while d == 0:
  232. print("......................................")
  233. print("欢迎进入新生信息管理系统!")
  234. print("0. 显示所有学生信息 ")
  235. print("1. 新增学生信息 ")
  236. print("2. 插入学生信息 ")
  237. print("3. 删除学生信息 ")
  238. print("4. 修改学生信息 ")
  239. print("5. 导入学生信息(已经保存于的文件信息)")
  240. print("6. 学生信息搜索(按学号)")
  241. print("7. 学生信息统计(按性别)")
  242. print("8. 按英语成绩排序")
  243. print("9. 学生信息保存")
  244. print("10. 退出")
  245. print("请选择您要进行的功能:")
  246. gn = input()
  247. if gn == "0":
  248. gn0()
  249. print("遍历功能已执行完毕!")
  250. print("......................................")
  251. elif gn == "1":
  252. gn1()
  253. print("新增功能已执行完毕!")
  254. print("......................................")
  255. elif gn == "2":
  256. gn2()
  257. print("插入功能已执行完毕!")
  258. print("......................................")
  259. elif gn == "3":
  260. gn3()
  261. print("删除功能已执行完毕!")
  262. print("......................................")
  263. elif gn == "4":
  264. gn4()
  265. print("修改功能已执行完毕!")
  266. print("......................................")
  267. elif gn == "5":
  268. gn5()
  269. print("导入功能执行完毕!")
  270. print("......................................")
  271. elif gn == "6":
  272. gn6()
  273. print("搜索功能执行完毕")
  274. print("......................................")
  275. elif gn == "7":
  276. gn7()
  277. print("统计功能执行完毕!")
  278. print("......................................")
  279. elif gn == "8":
  280. gn8()
  281. print("排序功能执行完毕!")
  282. print("......................................")
  283. elif gn == "9":
  284. gn9()
  285. print("保存至文件功能执行完毕!")
  286. print("......................................")
  287. elif gn == "10":
  288. print("正在退出系统!")
  289. print("......................................")
  290. exit()
  291. else:
  292. print("输入错误!请重新输入!")

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

闽ICP备14008679号