使用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中字符串和数字拼接报错的方法
Oct 23 Python
简单了解Django模板的使用
Dec 20 Python
windows下添加Python环境变量的方法汇总
May 14 Python
对pandas中to_dict的用法详解
Jun 05 Python
对python特殊函数 __call__()的使用详解
Jul 02 Python
pandas中DataFrame修改index、columns名的方法示例
Aug 02 Python
Python DataFrame一列拆成多列以及一行拆成多行
Aug 06 Python
python动态文本进度条的实例代码
Jan 22 Python
如何学习Python time模块
Jun 03 Python
python绘制分布折线图的示例
Sep 24 Python
一起来学习Python的元组和列表
Mar 13 Python
5个pandas调用函数的方法让数据处理更加灵活自如
Apr 24 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
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
php中实现获取随机数组列表的自定义函数
2015/04/02 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
2016/12/29 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
微信小程序实现图片上传功能
2018/05/28 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
js瀑布流布局的实现
2020/06/28 Javascript
JS实现多功能计算器
2020/10/28 Javascript
Python中操作符重载用法分析
2016/04/29 Python
利用Python中unittest实现简单的单元测试实例详解
2017/01/09 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
python字典的遍历3种方法详解
2019/08/10 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
Python continue语句实例用法
2020/02/06 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
戴森台湾线上商城:Dyson Taiwan
2018/05/21 全球购物
C#面试题
2016/05/06 面试题
逃出克隆岛观后感
2015/06/09 职场文书
厉行节约工作总结
2015/08/12 职场文书
中学总务处工作总结
2015/08/12 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
警用民用对讲机找不同
2022/02/18 无线电
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技
Python使用永中文档转换服务
2022/05/06 Python