您现在的位置是:首页 > 技术教程 正文

Python之学生信息管理系统

admin 阅读: 2024-03-20
后台-插件-广告管理-内容页头部广告(手机)

目录

一、基础界面实现

 1、主函数

2、保持循环,获取用户需求

 二、函数实现模块功能

1、添加学生信息

2、删除学生信息

 3、修改学生信息

4、查找全部学生信息

5、退出系统

三、整合代码

1、 完整代码

2、完整实现过程


实现

打印功能菜单、添加学生信息、删除学生信息、修改学生信息、显示学生信息、退出系统,并且需要接收用户的输入,在根据输入内容调用相应函数实现相应功能,模板图如下:

一、基础界面实现

 1、主函数

定义主函数main,并通过定义print_menu()函数输打印学生管理系统菜单

  1. #打印功能菜单
  2. def print_menu():
  3. print('='*30)
  4. print('学生管理系统')
  5. print('1.添加学生信息')
  6. print('2.删除学生信息')
  7. print('3.修改学生信息')
  8. print('4.显示所有学生信息')
  9. print('0.退出系统')
  10. print('')
  11. #定义主函数
  12. def main():
  13. print_menu()
  14. if __name__ == "__main__":
  15. main()

2、保持循环,获取用户需求

(1)while True循环:使系统菜单一直保持循环,为后面实现用户选择退出系统后,系统才结束循环作铺垫

(2)变量key:将获取到的用户需要实现的功能进行存储

(3)if循环:多分支循环,再分别实现各个模块的功能

  1. #定义主函数
  2. def main():
  3. while True:
  4. print_menu()
  5. key = input('请输入功能对应的数字:')
  6. if key == '1':
  7. #添加学生信息
  8. pass
  9. elif key == '2':
  10. #删除学生信息
  11. pass
  12. elif key == '3':
  13. #修改学生信息
  14. pass
  15. elif key == '4':
  16. #查找全部学生信息
  17. pass
  18. elif key == '0':
  19. #退出系统
  20. pass
  21. else:
  22. print('输入有误')

 二、函数实现模块功能

1、添加学生信息

(1)name,sex,phone:存储用户输入的新学生的姓名,性别,手机号码信息

(2)new_info():定义成一个字典,通过键值对的形式,存储当前学生的所有信息

(3)append():列表的添加,将当前的字典存入列表,作为列表的一个元素

(4)stu_info:定义了一个列表用来存储所有的学生信息

  1. #定义一个列表来存储所有学生信息
  2. stu_info = []
  3. #添加学生信息
  4. def add_stu_info():
  5. name = input('请输入新学生的姓名:')
  6. sex = input('请输入新学生的性别:')
  7. phone = input('请输入新学生的手机号码:')
  8. new_info = dict()#定义一个字典
  9. new_info['name'] = name
  10. new_info['sex'] = sex
  11. new_info['phone'] = phone
  12. stu_info.append(new_info)

2、删除学生信息

(1)len():进入删除操作前先判断学生信息表是否为空

①为空:输出学生信息表为空,直接跳出删除操作

②不空:通过del_num变量记录用户需要删除的学生序号

(2)记录好要删除的学生序号还需要进一步判断输入的序号是否有误

①为flase:输出要删除的序号有误,跳出删除操作

②为true:通过del列表的删除操作进行删除对应序号的学生信息,并输出删除成功

  1. #删除学生信息
  2. def del_stu_info(student):
  3. if len(stu_info) != 0:
  4. del_num = int(input('请输入要删除的序号:')) - 1
  5. if del_num < len(stu_info):
  6. del student[del_num]
  7. print(f'删除指定序号:{del_num+1}成功')
  8. else:
  9. print('要删除的序号有误')
  10. else:
  11. print('学生信息表为空')

 3、修改学生信息

(1)len():进入修改操作前先判断学生信息表是否为空

①为空:输出学生信息表为空,直接跳出修改操作

②不空:通过rev_num变量记录用户需要修改的学生序号

(2)记录好要修改的学生序号还需要进一步判断输入的序号是否有误

①为flase:输出要修改的序号有误,跳出修改操作

②为true:通过rev_name、rev_sex、rev_phone变量记录修改后学生的信息

(3)stu_info[][]:通过列表修改元素的方法,将新的信息替换旧的信息

  1. #修改学生信息
  2. def rev_stu_info():
  3. if len(stu_info) != 0:
  4. rev_num = int(input('请输入要修改学生的序号:')) - 1
  5. if rev_num >= len(stu_info):
  6. print("要修改的序号有误")
  7. else:
  8. rev_name = input('请输入要修改学生的姓名:')
  9. rev_sex = input('请输入要修改学生的性别:')
  10. rev_phone = input('请输入要修改学生的手机:')
  11. stu_info[rev_num]['name'] = rev_name
  12. stu_info[rev_num]['sex'] = rev_sex
  13. stu_info[rev_num]['phone'] = rev_phone
  14. else:
  15. print('学生信息表为空')

4、查找全部学生信息

(1)len():进入查找操作前先判断学生信息表是否为空

①为空:输出学生信息表为空,直接跳出查找操作

②不空:输出学生信息如下

(2)i:序号,记录并输出学生数量

(3)for循环:逐个输出列表元素

  1. #查找全部学生信息
  2. def show_stu_info():
  3. if len(stu_info) != 0:
  4. print('学生的信息如下:')
  5. print('=' * 30)
  6. print('序号 姓名 性别 手机号码')
  7. i = 1
  8. for temp_info in stu_info:
  9. print("%d %s %s %s" %(i,temp_info['name'],temp_info['sex'],temp_info['phone']))
  10. i += 1
  11. else:
  12. print('学生信息表为空')

5、退出系统

(1)quit_confirm:再次询问用户是否退出,并记录

(2)if循环:判断用户输入的是Yes还是No

①break:用户输入Yes,即确定退出,跳出while True这个死循环

②coninue:用户输入No,即不退出,则继续新一轮的while True循环

  1. #定义主函数
  2. def main():
  3. while True:
  4. print_menu()
  5. key = input('请输入功能对应的数字:')
  6. if key == '1':
  7. #添加学生信息
  8. pass
  9. elif key == '2':
  10. #删除学生信息
  11. pass
  12. elif key == '3':
  13. #修改学生信息
  14. pass
  15. elif key == '4':
  16. #查找全部学生信息
  17. pass
  18. elif key == '0':
  19. #退出系统
  20. quit_confirm = input('亲,真的要退出么?(Yes/No):')
  21. if quit_confirm == 'Yes':
  22. break
  23. elif quit_confirm == 'No':
  24. continue
  25. else:
  26. print('输入有误,请重新输入')
  27. else:
  28. print('输入有误')

三、整合代码

1、 完整代码

  1. #定义一个列表来存储所有学生信息
  2. stu_info = []
  3. #打印功能菜单
  4. def print_menu():
  5. print('=' * 30)
  6. print('学生管理系统')
  7. print('1.添加学生信息')
  8. print('2.删除学生信息')
  9. print('3.修改学生信息')
  10. print('4.显示所有学生信息')
  11. print('0.退出系统')
  12. print('=' * 30)
  13. #添加学生信息
  14. def add_stu_info():
  15. name = input('请输入新学生的姓名:')
  16. sex = input('请输入新学生的性别:')
  17. phone = input('请输入新学生的手机号码:')
  18. new_info = dict()#定义一个字典
  19. new_info['name'] = name
  20. new_info['sex'] = sex
  21. new_info['phone'] = phone
  22. stu_info.append(new_info)
  23. #删除学生信息
  24. def del_stu_info(student):
  25. if len(student) != 0:
  26. del_num = int(input('请输入要删除的序号:')) - 1
  27. if del_num < len(stu_info):
  28. del student[del_num]
  29. print(f'删除指定序号:{del_num+1}成功')
  30. else:
  31. print('要删除的序号有误')
  32. else:
  33. print('学生信息表为空')
  34. #修改学生信息
  35. def rev_stu_info():
  36. if len(stu_info) != 0:
  37. rev_num = int(input('请输入要修改学生的序号:')) - 1
  38. if rev_num >= len(stu_info):
  39. print("要修改的序号有误")
  40. else:
  41. rev_name = input('请输入要修改学生的姓名:')
  42. rev_sex = input('请输入要修改学生的性别:')
  43. rev_phone = input('请输入要修改学生的手机:')
  44. stu_info[rev_num]['name'] = rev_name
  45. stu_info[rev_num]['sex'] = rev_sex
  46. stu_info[rev_num]['phone'] = rev_phone
  47. else:
  48. print('学生信息表为空')
  49. #查找全部学生信息
  50. def show_stu_info():
  51. if len(stu_info) != 0:
  52. print('学生的信息如下:')
  53. print('=' * 30)
  54. print('序号 姓名 性别 手机号码')
  55. i = 1
  56. for temp_info in stu_info:
  57. print("%d %s %s %s" %(i,temp_info['name'],temp_info['sex'],temp_info['phone']))
  58. i += 1
  59. else:
  60. print('学生信息表为空')
  61. #定义主函数
  62. def main():
  63. while True:
  64. print_menu()
  65. key = input('请输入对应的功能的数字:')
  66. if key == '1':
  67. #添加学生信息
  68. add_stu_info()
  69. elif key == '2':
  70. #删除学生信息
  71. del_stu_info(stu_info)
  72. elif key == '3':
  73. #修改学生信息
  74. rev_stu_info()
  75. elif key == '4':
  76. #显示所有学生信息
  77. show_stu_info()
  78. elif key == '0':
  79. #退出系统
  80. quit_confirm = input('亲,真的要退出么?(Yes/No):')
  81. if quit_confirm == 'Yes' or quit_confirm == 'yes' or quit_confirm == 'YES':
  82. break
  83. elif quit_confirm == 'No' or quit_confirm == 'no' or quit_confirm == 'NO':
  84. continue
  85. else:
  86. print('输入有误,请重新输入')
  87. else:
  88. print('输入有误,请重新输入')
  89. if __name__=='__main__':
  90. main()

2、完整实现过程

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索