基于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 命令行非阻塞输入的小例子
Sep 27 Python
Python守护进程(daemon)代码实例
Mar 06 Python
Python实现方便使用的级联进度信息实例
May 05 Python
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
python控制台中实现进度条功能
Nov 10 Python
Python实现输出程序执行进度百分比的方法
Sep 16 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
Python实现购物车程序
Apr 16 Python
快速解决pandas.read_csv()乱码的问题
Jun 15 Python
Django Channels 实现点对点实时聊天和消息推送功能
Jul 17 Python
Python基于paramunittest模块实现excl参数化
Apr 26 Python
详解Python 3.10 中的新功能和变化
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中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
php中生成随机密码的自定义函数代码
2013/10/21 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
Vue.js用法详解
2017/11/13 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
基于element-ui的rules中正则表达式
2018/09/04 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
中间件分为哪几类
2016/09/18 面试题
致铅球运动员广播稿精选
2014/01/12 职场文书
超市店庆活动方案
2014/08/31 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript