使用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中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
python基础教程之常用运算符
Aug 29 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
python实现五子棋小游戏
Mar 25 Python
python读取txt文件并取其某一列数据的示例
Feb 19 Python
Django 全局的static和templates的使用详解
Jul 19 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
Jul 23 Python
浅谈Python 敏感词过滤的实现
Aug 15 Python
关于Flask项目无法使用公网IP访问的解决方式
Nov 19 Python
django rest framework使用django-filter用法
Jul 15 Python
python实现简单猜单词游戏
Dec 24 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/02/18 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
window.open被浏览器拦截后的自定义提示效果代码
2007/11/19 Javascript
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
微信小程序 JS动态修改样式的实现代码
2017/02/10 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
python中input()与raw_input()的区别分析
2016/02/27 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
python实现AES加密解密
2019/03/28 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
python实现ip地址的包含关系判断
2020/02/07 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
亚马逊印度站:Amazon.in
2017/10/15 全球购物
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
巴西宠物商店:Cobasi
2019/04/19 全球购物
教师评优事迹材料
2014/01/10 职场文书
高中体育教学反思
2014/01/24 职场文书
车间机修工岗位职责
2014/02/28 职场文书
三月雷锋月活动总结
2014/07/03 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
企业投资意向书
2015/05/09 职场文书
公司员工奖惩制度
2015/08/04 职场文书
会计岗位工作总结
2015/08/12 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers