基于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创建XML文档
Mar 01 Python
浅要分析Python程序与C程序的结合使用
Apr 07 Python
Python基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
python自动裁剪图像代码分享
Nov 25 Python
TensorFlow实现Batch Normalization
Mar 08 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
Dec 19 Python
python Django 创建应用过程图示详解
Jul 29 Python
python matplotlib中的subplot函数使用详解
Jan 19 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 Python
keras分类之二分类实例(Cat and dog)
Jul 09 Python
python hmac模块验证客户端的合法性
Nov 07 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
做个自己站内搜索引擎
2006/10/09 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
php的mssql数据库连接类实例
2014/11/28 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
php二维码生成以及下载实现
2017/09/28 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
客户端静态页面玩分页
2006/06/26 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
Angular在模板驱动表单中自定义校验器的方法
2017/08/09 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
[01:40]2014DOTA2国际邀请赛 三冰SOLO赛后采访恶搞
2014/07/09 DOTA
python正则表达式面试题解答
2020/04/28 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
python实现局域网内实时通信代码
2019/12/22 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
竞争上岗演讲稿范文
2014/05/12 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
《颐和园》教学反思
2016/02/19 职场文书
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis
深入理解 Golang 的字符串
2022/05/04 Golang