基于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程序中访问Java类的简单示例
Apr 20 Python
你所不知道的Python奇技淫巧13招【实用】
Dec 14 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
Nov 16 Python
Python查找文件中包含中文的行方法
Dec 19 Python
python将处理好的图像保存到指定目录下的方法
Jan 10 Python
python单线程文件传输的实例(C/S)
Feb 13 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
python将excel转换为csv的代码方法总结
Jul 03 Python
Python3.7安装pyaudio教程解析
Jul 24 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 Python
如何利用python和DOS获取wifi密码
Mar 31 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 smarty 二级分类代码和模版循环例子
2011/06/16 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
PHP常量及变量区别原理详解
2020/08/14 PHP
超简单的jquery的AJAX用法
2010/05/10 Javascript
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
jQuery模仿单选按钮选中效果
2016/06/24 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
Vue中常用rules校验规则(实例代码)
2019/11/14 Javascript
vue实现扫码功能
2020/01/17 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
跟老齐学Python之for循环语句
2014/10/02 Python
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
python代码中怎么换行
2020/06/17 Python
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
物业经理求职自我评价
2013/09/22 职场文书
涉外文秘个人求职的自我评价
2013/10/07 职场文书
大学生自我鉴定范文
2013/12/28 职场文书
办公室主任先进事迹
2014/01/18 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
MySQL transaction事务安全示例讲解
2022/06/21 MySQL