使用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 Django连接MySQL数据库做增删改查
Nov 07 Python
Python3中的2to3转换工具使用示例
Jun 12 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
python将字符串以utf-8格式保存在txt文件中的方法
Oct 30 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
FFT快速傅里叶变换的python实现过程解析
Oct 21 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
python 爬取疫情数据的源码
Feb 09 Python
浅谈Python中re.match()和re.search()的使用及区别
Apr 14 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
js的表单操作 简单计算器
2011/12/29 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
2019/09/06 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
Vue中点击active并第一个默认选中功能的实现
2020/02/24 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
python django 访问静态文件出现404或500错误
2017/01/20 Python
Python pymongo模块用法示例
2018/03/31 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
利用Python检测URL状态
2019/07/31 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
化工实习心得体会
2014/09/09 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
社区低保工作总结2015
2015/07/23 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android