基于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 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
Python群发邮件实例代码
Jan 03 Python
跟老齐学Python之关于类的初步认识
Oct 11 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
Python实现屏幕截图的两种方式
Feb 05 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
解决python字典对值(值为列表)赋值出现重复的问题
Jan 20 Python
django 多对多表的创建和插入代码实现
Sep 09 Python
python计算无向图节点度的实例代码
Nov 22 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
python如何求圆的面积
Jul 01 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
laravel请求参数校验方法
2019/10/10 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
图片img的src不变让浏览器重新加载实现方法
2013/03/29 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
以一段代码为实例快速入门Python2.7
2015/03/31 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
keras之权重初始化方式
2020/05/21 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
英国女性时尚品牌:Apricot
2018/12/04 全球购物
如何将字串String转换成整数int
2015/02/21 面试题
教师一岗双责责任书
2014/04/16 职场文书
户籍证明格式
2014/09/15 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
退休欢送会主持词
2015/07/01 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
MySQL七大JOIN的具体使用
2022/02/28 MySQL
JS实现九宫格拼图游戏
2022/06/28 Javascript