使用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算法学习之基数排序实例
Dec 18 Python
python脚本设置超时机制系统时间的方法
Feb 21 Python
Python模拟随机游走图形效果示例
Feb 06 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
pandas全表查询定位某个值所在行列的方法
Apr 12 Python
python生成ppt的方法
Jun 07 Python
深入理解Django-Signals信号量
Feb 19 Python
利用Python实现微信找房机器人实例教程
Mar 10 Python
详解Python中is和==的区别
Mar 21 Python
Python实现动态给类和对象添加属性和方法操作示例
Feb 29 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
python lambda的使用详解
Feb 26 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
php多进程应用场景实例详解
2019/07/22 PHP
jquery获取input表单值的代码
2010/04/19 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
vue2.0安装style/css loader的方法
2018/03/14 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
Python编写的com组件发生R6034错误的原因与解决办法
2013/04/01 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
Python实现字典的key和values的交换
2015/08/04 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
2014庆六一活动方案
2014/03/02 职场文书
高三家长寄语
2014/04/03 职场文书
专项法律服务方案
2014/06/11 职场文书
安全先进班组材料
2014/12/26 职场文书
公务员年终个人总结
2015/02/12 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS