使用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 获取 Linux 系统信息的代码
Jul 13 Python
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
浅谈python为什么不需要三目运算符和switch
Jun 17 Python
python中set()函数简介及实例解析
Jan 09 Python
取numpy数组的某几行某几列方法
Apr 03 Python
Python爬虫实现验证码登录代码实例
May 10 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
May 30 Python
python将print输出的信息保留到日志文件中
Sep 27 Python
Pandas数据离散化原理及实例解析
Nov 16 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
Django项目uwsgi+Nginx保姆级部署教程实现
Apr 19 Python
为什么说python适合写爬虫
Jun 11 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中获取文件扩展名的N种方法小结
2012/02/27 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
javascript如何写热点图
2015/12/08 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
原生js实现碰撞检测
2020/03/12 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
[00:10]DOTA2全国高校联赛速递
2018/05/30 DOTA
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
浅谈对yield的初步理解
2017/05/29 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
python在linux环境下安装skimage的示例代码
2020/10/14 Python
快速创建python 虚拟环境
2020/11/28 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
花店创业计划书范文
2014/02/07 职场文书
小学评语大全
2014/04/22 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
教师岗位职责
2015/02/03 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
Golang数据类型和相互转换
2022/04/12 Golang
什么是css原子化,有什么用?
2022/04/24 HTML / CSS