使用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的几条建议分享
Feb 10 Python
Python基于scrapy采集数据时使用代理服务器的方法
Apr 16 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
pyqt5的QComboBox 使用模板的具体方法
Sep 06 Python
Python设计模式之模板方法模式实例详解
Jan 17 Python
Python搭建Spark分布式集群环境
Jul 05 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
Apr 07 Python
python如何实现递归转非递归
Feb 25 Python
python中的被动信息搜集
Apr 29 Python
Elasticsearch 聚合查询和排序
Apr 19 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 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
xss文件页面内容读取(解决)
2010/11/28 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
JavaScript的递归之递归与循环示例介绍
2013/08/05 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
node.js express安装及示例网站搭建方法(分享)
2016/08/22 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
浅谈Python 对象内存占用
2016/07/15 Python
开源Web应用框架Django图文教程
2017/03/09 Python
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
新手如何发布Python项目开源包过程详解
2019/07/11 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
土木工程毕业生推荐信
2013/10/28 职场文书
外贸业务员工作职责
2014/01/06 职场文书
给老师的检讨书
2014/02/11 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
摩登时代观后感
2015/06/03 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL