使用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爬虫利用cookie实现模拟登陆实例详解
Jan 12 Python
Python3编程实现获取阿里云ECS实例及监控的方法
Aug 18 Python
Python实现的读取电脑硬件信息功能示例
May 30 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
python使用time、datetime返回工作日列表实例代码
May 09 Python
python 图片去噪的方法示例
Jul 09 Python
python实现京东订单推送到测试环境,提供便利操作示例
Aug 09 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
详解Python高阶函数
Aug 15 Python
利用python查看数组中的所有元素是否相同
Jan 08 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
JS中操作JSON总结
2020/12/06 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
director.js实现前端路由使用实例
2015/02/03 Javascript
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
Javascript设计模式之装饰者模式详解篇
2017/01/17 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
Python列表删除的三种方法代码分享
2017/10/31 Python
PyQt实现界面翻转切换效果
2018/04/20 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
中科软测试工程师面试题
2012/06/16 面试题
小学节能减排倡议书
2014/05/15 职场文书
统计员岗位职责
2015/02/11 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python