使用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调用java的Webservice示例
Mar 10 Python
python设置检查点简单实现代码
Jul 01 Python
在Python中使用列表生成式的教程
Apr 27 Python
Python用Pillow(PIL)进行简单的图像操作方法
Jul 07 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
python实现邮件发送功能
Aug 10 Python
Python3 翻转二叉树的实现
Sep 30 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
Python基于pandas爬取网页表格数据
May 11 Python
python 使用递归的方式实现语义图片分割功能
Jul 16 Python
python如何支持并发方法详解
Jul 25 Python
python中 .npy文件的读写操作实例
Apr 14 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中的常用函数回顾
2013/07/11 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
微信小程序webview 脚手架使用详解
2019/07/22 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
Python文件与文件夹常见基本操作总结
2016/09/19 Python
使用Python &amp; Flask 实现RESTful Web API的实例
2017/09/19 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
python递归法解决棋盘分割问题
2019/07/17 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
详解如何用HTML5 Canvas API控制图片的缩放变换
2016/03/22 HTML / CSS
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
综合办公室个人的自我评价
2013/12/22 职场文书
婚庆司仪主持词
2014/03/15 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
村委会换届选举方案
2014/05/03 职场文书
中学生学习保证书
2015/02/26 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
Python字典和列表性能之间的比较
2021/06/07 Python
Python实现列表拼接和去重的三种方式
2021/07/02 Python