基于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 装饰器深入理解
Mar 16 Python
对numpy Array [: ,] 的取值方法详解
Jul 02 Python
对python中的乘法dot和对应分量相乘multiply详解
Nov 14 Python
Python设计模式之原型模式实例详解
Jan 18 Python
使用python爬取抖音视频列表信息
Jul 15 Python
python实现美团订单推送到测试环境,提供便利操作示例
Aug 09 Python
Python 继承,重写,super()调用父类方法操作示例
Sep 29 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
Python调用shell命令常用方法(4种)
May 11 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
python openCV实现摄像头获取人脸图片
Aug 20 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
PHP时间类完整代码实例
2021/02/26 PHP
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
jQuery+Ajax实现用户名重名实时检测
2017/06/01 jQuery
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
使用jQuery实现页面定时弹出广告效果
2017/08/24 jQuery
JS实现按钮颜色切换效果
2020/09/05 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python读写ini配置文件方法实例分析
2015/06/30 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
介绍一下你对SOA的认识
2016/04/24 面试题
2015年公务员工作总结
2015/04/24 职场文书
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL
nginx配置虚拟主机的详细步骤
2021/07/21 Servers
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
讲解Python实例练习逆序输出字符串
2022/05/06 Python
Android Studio 计算器开发
2022/05/20 Java/Android
MySQL导致索引失效的几种情况
2022/06/25 MySQL