使用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实现异步回调机制代码分享
Jan 10 Python
python使用calendar输出指定年份全年日历的方法
Apr 04 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
Jun 14 Python
python妙用之编码的转换详解
Apr 21 Python
django DRF图片路径问题的解决方法
Sep 10 Python
Flask实现跨域请求的处理方法
Sep 27 Python
python 格式化输出百分号的方法
Jan 20 Python
简单了解python 邮件模块的使用方法
Jul 24 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 Python
python实现简单的购物程序代码实例
Mar 03 Python
django日志默认打印request请求信息的方法示例
May 17 Python
python中怎么表示空值
Jun 19 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学习之数据类型之间的转换介绍
2011/06/09 PHP
php中3种方法删除字符串中间的空格
2014/03/10 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
php阳历转农历优化版
2016/08/08 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
js的匿名函数使用介绍
2013/12/11 Javascript
JQ技术实现注册页面带有校验密码强度
2015/07/27 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
AngularJS入门教程中SQL实例详解
2016/07/27 Javascript
jquery代码规范让代码越来越好看
2017/02/03 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
python模糊图片过滤的方法
2018/12/14 Python
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
python中的print()输出
2019/04/12 Python
详解Django配置优化方法
2019/11/18 Python
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
资产评估专业大学生求职信
2013/09/29 职场文书
建材业务员岗位职责
2013/12/08 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
四风查摆问题及整改措施
2014/10/10 职场文书
家长会开场白和结束语
2015/05/29 职场文书
班主任工作总结范文
2015/08/13 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS