基于Python实现简单学生管理系统


Posted in Python onJuly 24, 2020

学生信息管理系统负责编辑学生信息,供大家参考,具体内容如下

第一次发帖,下面通过python实现一个简单的学生信息管理系统

要求如下:

1.添加学生的信息
2.删除学生的信息
3.修改的信息
4.查询学生的信息
5.遍历学生的信息
6.退出系统

写法:

1.先考虑整体的框架(即搭框架),不要刚开始就考虑函数。
2.提示用户选择功能。
3.获取用户选择的功能。
4.根据用户的选择,执行相应的功能。

代码如下:

# 0.学生管理系统界面
def showInfo():
 print("-"*30)
 print(" 学生管理系统 v1.0")
 print(" 1:添加学生的信息")
 print(" 2:删除学生的信息")
 print(" 3:修改的信息")
 print(" 4:查询学生的信息")
 print(" 5:遍历学生的信息")
 print(" 6:退出系统")
 print("-" * 30)


# 1.添加学生的信息
def addNewStu(studentsTemp):
 name = input("请输入姓名:")
 stuId = input("请输入学号:")
 age = input("请输入年龄:")

 # 2.判断是否能加这个学生:如果学生姓名已经存在报错提示;如果姓名不存在添加数据
 global students # 声明students为全局变量

 # 2.1不允许学号重复:判断用户输入的学号和列表里面字典的id对应的值相等提示
 for i in students:
  if stuId == i['id']:
   print("该学号已经存在,请重新操作!!!")
   # return作用:退出当前函数,后面添加信息的代码不执行
   return

 # 2.2如果输入的姓名不存在,添加数据:准备空字典,字典新增数据,列表追加字典
 stuInfo = {} # 2.2.1准备空字典

 # 2.2.2字典新增数据
 stuInfo['name'] = name # 如果name存在赋值修改,如果name不存在则赋值新增“name”这个变量
 stuInfo['id'] = stuId
 stuInfo['age'] = age

 # 2.2.3列表追加字典数据
 studentsTemp.append(stuInfo)



# 2.删除学生的信息
def del_info():
 # 1.用户输入要删除的学生的学号
 del_name = input("请输入要删除的姓名:")

 # 2.判断学生是否存在:存在则删除:不存在提示
 # 2.1声明students为全局变量
 global students
 # 2.2遍历列表
 for i in students:
  # 2.3判断学生是否存在:存在执行删除(列表用面的学典).break:这个系统不允许重名,删除了一个后面的不需要再遍历。不存在提示
  if del_name == i['name']:
   students.remove(i)
   break
 else: # 循环正常结束
  print("该学生不存在")
 print(students)


# 3.修改学生的信息
def modify_info():
 # 1.用户输入想要修改的学生的姓名
 modify_name = input("请输入要修改的学生的姓名:")
 # 2.判断学生是否存在:存在修改学号:不存在,提示
 # 2.1声明students是全局变量
 global students
 # 2.2遍历列表,判断输入的姓名==字典['name']
 for i in students:
  if modify_name == i['name']:
   # 将stuId修改key值,并终止此循环
   i['id'] = input("请输入新的学号:")
   break
 else:
  # 学生不存在
  print("该学生不存在")
 # 3.打印students
 print(students)


# 4.查询学生的信息
def search_info():
 # 1.用户输入目标学生姓名
 search_name = input("请输入要查询的学生的姓名:")
 # 2.检查学生是否存在:存在打印这个学生的信息;不存在则提示
 # 2.1声明students为全局变量
 global students
 # 2.2遍历students,判断输入的学号是否存在
 for i in students:
  if search_name == i['name']:
   # 学员存在:打印信息并终止循环
   print("查询到的学生信息如下----------")
   print(f"学生的学号是{i['id']},学生的姓名是{i['name']},学生的年龄是{i['age']}")
   break
 else:
  # 学生不存在的提示
  print("对不起,您查询的学生不存在,请重试!")


# 5.遍历学生的信息
def print_all():
 # 1.打印提示字
 print('学号\t姓名\t年龄')

 # 2.打印所有学生的数据
 for i in students:
  print(f"{i['id']}\t{i['name']}\t{i['age']}")


students = [] # 等待存储所有学生信息
# 系统功能需要循环使用,直在用户输入6,才退出系统
while True:
 showInfo() # 显示主界面
 key = int(input("请选择功能(序号):"))

 if key == 1:
  addNewStu(students)
 elif key == 2:
  del_info()
 elif key == 3:
  modify_info()
 elif key == 4:
  search_info()
 elif key == 5:
  print_all()
 elif key == 6:
  exit_flag = input("您确定要退出吗?yes/no\n")
  if exit_flag == 'yes':
   break
 else:
  print("输入有误,请重新输入!")

关于管理系统的更多内容请点击《管理系统专题》进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入解析Python中的list列表及其切片和迭代操作
Mar 13 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
Nov 21 Python
python实现简易版计算器
Jun 22 Python
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 Python
Python3 jupyter notebook 服务器搭建过程
Nov 30 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
django模板结构优化的方法
Feb 28 Python
Python数学形态学实例分析
Sep 06 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
Nov 02 Python
Python数据结构之队列详解
Mar 21 Python
用python实现学生管理系统
Jul 24 #Python
Python 解析简单的XML数据
Jul 24 #Python
深入了解NumPy 高级索引
Jul 24 #Python
python实现学生管理系统开发
Jul 24 #Python
浅析Python 多行匹配模式
Jul 24 #Python
Python图像处理二值化方法实例汇总
Jul 24 #Python
Python如何合并多个字典或映射
Jul 24 #Python
You might like
PHP 的 __FILE__ 常量
2007/01/15 PHP
PHP函数常用用法小结
2010/02/08 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
PHP使用mongoclient简单操作mongodb数据库示例
2019/02/08 PHP
javascript 解析url的search方法
2010/02/09 Javascript
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
教你用Cordova打包Vue项目的方法
2017/10/17 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
vue数组对象排序的实现代码
2018/06/20 Javascript
javascript中call()、apply()的区别
2019/03/21 Javascript
Python字符转换
2008/09/06 Python
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
在双python下设置python3为默认的方法
2018/10/31 Python
python爬虫之自制英汉字典
2019/06/24 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
OpenCV 边缘检测
2019/07/10 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
pytorch标签转onehot形式实例
2020/01/02 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
python -v 报错问题的解决方法
2020/09/15 Python
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
银行员工辞职信范文
2014/01/20 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
农村文化建设标语
2014/10/07 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
活动宣传稿范文
2015/07/23 职场文书
python_tkinter弹出对话框创建
2022/03/20 Python