基于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字符串连接方式汇总
Aug 21 Python
在服务器端实现无间断部署Python应用的教程
Apr 16 Python
Django中传递参数到URLconf的视图函数中的方法
Jul 18 Python
python使用threading获取线程函数返回值的实现方法
Nov 15 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
python实现对文件中图片生成带标签的txt文件方法
Apr 27 Python
python语言基本语句用法总结
Jun 11 Python
PyQt5 多窗口连接实例
Jun 19 Python
对pytorch的函数中的group参数的作用介绍
Feb 18 Python
Python数组拼接np.concatenate实现过程
Apr 18 Python
Pycharm Git 设置方法
Sep 15 Python
详解分布式系统中如何用python实现Paxos
May 18 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
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
PHP.vs.JAVA
2016/04/29 PHP
php 二维数组时间排序实现代码
2016/11/19 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
Vue.js实现的购物车功能详解
2019/01/27 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
Python自定义主从分布式架构实例分析
2016/09/19 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
Java语言程序设计测试题判断题部分
2013/01/06 面试题
研究生求职自荐书
2014/06/23 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers
使用refresh_token实现无感刷新页面
2022/04/26 Javascript