使用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编程中的运用实例
Jun 26 Python
python利用rsa库做公钥解密的方法教程
Dec 10 Python
Django中Model的使用方法教程
Mar 07 Python
python range()函数取反序遍历sequence的方法
Jun 25 Python
python接口自动化测试之接口数据依赖的实现方法
Apr 26 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
Pytorch模型转onnx模型实例
Jan 15 Python
Python爬虫之Spider类用法简单介绍
Aug 04 Python
python 密码学示例——凯撒密码的实现
Sep 21 Python
Python常用扩展插件使用教程解析
Nov 02 Python
理解深度学习之深度学习简介
Apr 14 Python
python批量更改目录名/文件名的方法
Apr 18 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
对盗链说再见...
2006/10/09 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
PHP中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
Jquery 扩展方法
2010/05/06 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
西安当代医院管理研究院笔试题
2015/12/11 面试题
Unix控制后台进程都有哪些进程
2016/09/22 面试题
《最后的姿势》教学反思
2014/02/27 职场文书
检举信的格式及范文
2014/04/04 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
工作失职造成投诉的检讨书范文
2014/10/05 职场文书
工作证明英文模板
2014/10/21 职场文书
个人委托书范文
2015/01/28 职场文书
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers