使用python实现学生信息管理系统


Posted in Python onFebruary 25, 2021

本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下

学生管理系统的开发步骤:

1、显示学生管理系统的功能菜单
2、接收用户输入的功能选项
3、判断用户输入的功能选项,并完成相关的操作

把功能代码抽取到函数的目的:提供功能代码的复用性,减少功能代码的冗余。

# 学生列表,专门来负责管理每一个学生信息
student_list = []
 
 
# 显示学生管理系统菜单的功能函数
def show_menu():
  print("=================== 学生管理系统V1.0 ===================")
  print("1. 添加学生")
  print("2. 删除学生")
  print("3. 修改学生信息")
  print("4. 查询学生信息")
  print("5. 显示所有学生信息")
  print("6. 退出")
 
 
# 添加学生的功能函数
def add_student():
  # 实现添加学生的功能
  name = input("请输入的您的姓名:")
  age = input("请输入的您的年龄:")
  sex = input("请输入的您的性别:")
  # 每一个学生信息是字典类型,需要把这个三项数据组装到字典里面
  student_dict = {"name": name, "age": age, "sex": sex}
  # 把学生字典信息添加到列表
  student_list.append(student_dict)
 
 
# 显示所有学生的功能函数
def show_all_student():
  # 实现显示所有学生的功能
  for index, student_dict in enumerate(student_list):
    # 学号 = 下标 + 1
    student_no = index + 1
    print("学号: %d 姓名: %s 年龄: %s 性别: %s" % (student_no,
                        student_dict["name"],
                        student_dict["age"],
                        student_dict["sex"]))
 
 
# 删除学生的功能函数
def remove_student():
  # 1. 接收要删除学生的学号
  student_no = int(input("请输入您要删除学生的学号:"))
  # 2. 根据学生生成下标
  index = student_no - 1
  # 判断下标是否合法
  if 0 <= index < len(student_list):
    # 3. 根据下标从列表中删除指定数据
    student_dict = student_list.pop(index)
    print("%s, 删除成功!" % student_dict["name"])
  else:
    print("请输入合法的学号!")
 
 
# 修改学生信息的功能函数
def modify_student():
  # 1. 接收要修改学生的学号
  student_no = int(input("请输入您要修改学生的学号:"))
  # 2. 根据学生生成下标
  index = student_no - 1
  # 判断下标是否合法
  if 0 <= index < len(student_list):
    # 3. 根据下标获取对应的学生字典信息
    modify_student_dict = student_list[index]
    # 4. 根据字典修改学生信息
    modify_student_dict["name"] = input("请输入您修改后的姓名:")
    modify_student_dict["age"] = input("请输入您修改后的年龄:")
    modify_student_dict["sex"] = input("请输入您修改后的性别:")
    print("修改成功")
  else:
    print("请输入您的合法学号!")
 
 
# 查询学生
def query_student():
  # 1. 接收用户入要查询学生的姓名
  name = input("请输入要查询学生的姓名:")
  # 2. 遍历学生列表,一次判断学生的姓名是否是指定名字
  for index, student_dict in enumerate(student_list):
    if student_dict["name"] == name:
      # 生成学生
      student_no = index + 1
      # 3. 如果找到了则输出学生信息,则停止循环
      print("学号: %d 姓名: %s 年龄: %s 性别: %s" % (student_no,
                          student_dict["name"],
                          student_dict["age"],
                          student_dict["sex"]))
      break
  else:
    # 4. 遍历完都没有找到,需要输出该用户不存在
    print("对不起,您查找的学生信息不存在!")
 
 
# 学生管理系统的开发步骤
# 提示:由于系统需要一直运行,需要把以上三个步骤放到死循环里面,这样可以保存程序一直运行。
# 定义程序的入口函数,程序第一个要执行的函数
def start():
  while True:
    # 1. 显示学生管理系统的功能菜单
    show_menu()
    # 2. 接收用户输入的功能选项
    menu_option = input("请输入您要操作的功能选项:")
    # 3. 判断用户输入的功能选项,并完成相关的操作
    if menu_option == "1":
      print("添加学生")
      add_student()
    elif menu_option == "2":
      print("删除学生")
      remove_student()
    elif menu_option == "3":
      print("修改学生信息")
      modify_student()
    elif menu_option == "4":
      print("查询学生信息")
      query_student()
    elif menu_option == "5":
      print("显示所有学生信息")
      show_all_student()
    elif menu_option == "6":
      print("退出")
      break
 
 
# 启动程序
start()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python不带重复的全排列代码
Aug 13 Python
python二分法实现实例
Nov 21 Python
Python实现自动发送邮件功能
Mar 02 Python
python write无法写入文件的解决方法
Jan 23 Python
django框架模板中定义变量(set variable in django template)的方法分析
Jun 24 Python
Python hashlib常见摘要算法详解
Jan 13 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
Pandas时间序列:时期(period)及其算术运算详解
Feb 25 Python
使用python无账号无限制获取企查查信息的实例代码
Apr 17 Python
Python实现转换图片背景颜色代码
Apr 30 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
Python web如何在IIS发布应用过程解析
May 27 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 #Python
使用tkinter实现三子棋游戏
Feb 25 #Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 #Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 #Python
python实现简单文件读写函数
Feb 25 #Python
python pygame 愤怒的小鸟游戏示例代码
Feb 25 #Python
python网络爬虫实现发送短信验证码的方法
Feb 25 #Python
You might like
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
img标签中onerror用法
2009/08/13 Javascript
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
前端微信支付js代码
2016/07/25 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
vue.js删除动态绑定的radio的指定项
2017/06/02 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
详解Python中for循环的使用方法
2015/05/14 Python
python中base64加密解密方法实例分析
2015/05/16 Python
分分钟入门python语言
2018/03/20 Python
Python函数参数操作详解
2018/08/03 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
在Django admin中编辑ManyToManyField的实现方法
2019/08/09 Python
通过实例解析Python调用json模块
2019/12/11 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
快餐店的创业计划书范文
2014/01/29 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
出纳员的岗位职责
2014/02/22 职场文书
化工专业自荐书
2014/06/16 职场文书
农贸批发市场管理制度
2015/08/07 职场文书
django上传文件的三种方式
2021/04/29 Python
正则表达式拆分url实例代码
2022/02/24 Java/Android