使用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 相关文章推荐
详解JavaScript编程中的window与window.screen对象
Oct 26 Python
python中执行shell的两种方法总结
Jan 10 Python
非递归的输出1-N的全排列实例(推荐)
Apr 11 Python
Python学习小技巧之列表项的拼接
May 20 Python
分析Python读取文件时的路径问题
Feb 11 Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
Oct 09 Python
python随机生成库faker库api实例详解
Nov 28 Python
python读取mysql数据绘制条形图
Mar 25 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
Python中的None与 NULL(即空字符)的区别详解
Sep 24 Python
如何基于Python实现word文档重新排版
Sep 29 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中路径问题的解决方案
2006/10/09 PHP
php使用websocket示例详解
2014/03/12 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
一篇不错的Python入门教程
2007/02/08 Python
python多线程编程方式分析示例详解
2013/12/06 Python
python转换摩斯密码示例
2014/02/16 Python
python导入时小括号大作用
2017/01/10 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python操作redis数据库的三种方法
2020/09/10 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
公共事业管理本科生求职信
2013/10/07 职场文书
大学三年的自我评价
2013/12/25 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书