基于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的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
Python中asyncore异步模块的用法及实现httpclient的实例
Jun 28 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
Jun 29 Python
Python闭包的两个注意事项(推荐)
Mar 20 Python
Django中login_required装饰器的深入介绍
Nov 24 Python
python执行精确的小数计算方法
Jan 21 Python
Python3 搭建Qt5 环境的方法示例
Jul 16 Python
解决Python安装cryptography报错问题
Sep 03 Python
python3爬虫中引用Queue的实例讲解
Nov 24 Python
python实现excel公式格式化的示例代码
Dec 23 Python
python单例模式的应用场景实例讲解
Feb 24 Python
Python基础之数据结构详解
Apr 28 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语言构造器介绍
2013/07/08 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
用js重建星际争霸
2006/12/22 Javascript
在Javascript中定义对象类别
2006/12/22 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
jQuery对象初始化的传参方式
2015/02/26 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
nodejs检测因特网是否断开的解决方案
2019/04/17 NodeJs
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
Python正则表达式介绍
2012/08/06 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
python opencv如何实现图片绘制
2020/01/19 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
用Python制作音乐海报
2021/01/26 Python
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
中专毕业生个人职业生涯规划
2014/02/19 职场文书
材料会计岗位职责
2014/03/06 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
金融事务专业求职信
2014/04/25 职场文书
科技节口号
2014/06/19 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang
各种货币符号快捷输入
2022/02/17 杂记
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技