python学生管理系统学习笔记


Posted in Python onMarch 19, 2019

本文实例为大家分享了python学生管理系统的具体代码,供大家参考,具体内容如下

基于列表存储的学生管理系统,实现如下功能

==================
学生管理系统
1、添加学生信息
2、删除学生信息
3、查询学生信息
4、修改学生信息
5、显示所有学生信息
6、退出
==================

代码如下:

import re
student=[]
 
def appendStudentInfo():
 studentinfo={"Name":"","ID":"","语文":"","数学":"","英语":"","总分":""}
 studentinfo["Name"]=input("请输入学生姓名:")
 idflag=True
 while idflag:
  studentinfo["ID"] = input("请输入学生学号:")
  pattern=re.compile("^\d{3}$")
  if not re.match(pattern,studentinfo["ID"]) :
   print("输入错误,请重新输入")
   idflag = True
  if querystudent(studentinfo["ID"])==True:
   print("该学号已经存在请重新输入")
   idflag = True
  if querystudent(studentinfo["ID"])==False and re.match(pattern,studentinfo["ID"]):
   idflag = False
 
 studentinfo["语文"]=input("请输入语文成绩:")
 while not studentinfo["语文"].isdigit() or int(studentinfo["语文"])>100 or int(studentinfo["语文"])<0:
  studentinfo["语文"] = input("输入错误,请重新输入:")
 
 studentinfo["数学"]=input("请输入数学成绩:")
 while not studentinfo["数学"].isdigit() or int(studentinfo["数学"]) > 100 or int(studentinfo["数学"]) < 0:
  studentinfo["数学"] = input("输入错误,请重新输入:")
 
 studentinfo["英语"]=input("请输入英语成绩:")
 while not studentinfo["英语"].isdigit() or int(studentinfo["英语"]) > 100 or int(studentinfo["英语"]) < 0:
  studentinfo["英语"] = input("输入错误,请重新输入:")
 
 studentinfo["总分"]=int(studentinfo["语文"])+int(studentinfo["英语"])+int(studentinfo["数学"])
 student.append(studentinfo)
 
def delstudent():
 delstudentid = input("请输入要删除的学生学号:")
 flag =False
 for item in student:
  if item["ID"]==delstudentid:
   flag = True
   print("要删除学生的相关信息如下:")
   print(item)
   select=input("是否删除:是(Y)/否(N)")
   if select=="Y" or select=="y":
    student.remove(item)
    print("删除成功")
   elif select =="N" or select=="n":
    print("取消删除")
   else:
    print("输入错误")
 if flag ==False:
  print("未搜索到该学生")
 
def querystudent(querystudentid):
 flag=False
 for item in student:
  if item["ID"]==querystudentid:
   flag=True
 return flag
 
def modifystudentifo():
 delstudentid = input("请输入要修改的学生学号:")
 
 flag=False
 for item in student:
  if item["ID"]==delstudentid:
   print("查询内容如下:")
   print(item)
   flag=True
   while True:
    modifymenu = input("请输入修改选项:1、姓名,2、语文成绩,3、数学成绩,4、英语成绩,5、退出")
    while not modifymenu.isdigit():
     modifymenu = input("输入错误,请重新输入:")
    if int(modifymenu)==1:
     item["Name"] = input("请重新输入学生姓名:")
    elif int(modifymenu)==2:
     item["语文"] = input("请重新输入学生语文成绩:")
    elif int(modifymenu)==3:
     item["数学"] = input("请重新输入学生数学成绩:")
    elif int(modifymenu)==4:
     item["英语"] = input("请重新输入学生英语成绩:")
    elif int(modifymenu) == 5:
     break
    else:
     print("输入序号无效")
   item["总分"] = int(item["语文"]) + int(item["英语"]) + int(item["数学"])
   print("修改结果如下:")
   print(item)
 
 if flag ==False:
  print("未搜索到该学生")
 
def allinfo():
 for item in student:
  print(item)
 
def iteminfo(querystudentid):
 for item in student:
  if item["ID"]==querystudentid:
   print("查询内容如下:")
   print(item)
 
def studentMenu():
 print("="*30)
 print("学生管理系统")
 print("1、添加学生信息")
 print("2、删除学生信息")
 print("3、查询学生信息")
 print("4、修改学生信息")
 print("5、显示所有学生信息")
 print("6、退出")
 print("="*30)
 
 
if __name__ == '__main__':
 
 while True:
  studentMenu()
  menuindex = input("请输入选项序号:")
  while not menuindex.isdigit():
   menuindex = input("输入错误,请重新输入:")
  if int(menuindex) ==1:
   appendStudentInfo()
  elif int(menuindex) ==2:
   delstudent()
  elif int(menuindex) ==3:
   querystudentid = input("请输入要查询的学生学号:")
   if querystudent(querystudentid) == True:
    iteminfo(querystudentid)
   else:print("未搜索到该学生")
  elif int(menuindex) ==4:
   modifystudentifo()
  elif int(menuindex)== 5:
   allinfo()
  elif int(menuindex) == 6:
   break
  else:
   print("输入序号无效")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python制作Windows系统服务
Mar 25 Python
Python使用smtp和pop简单收发邮件完整实例
Jan 09 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
Python定义二叉树及4种遍历方法实例详解
Jul 05 Python
Python json模块dumps、loads操作示例
Sep 06 Python
为什么说Python可以实现所有的算法
Oct 04 Python
Python Django框架模板渲染功能示例
Nov 08 Python
python实现宿舍管理系统
Nov 22 Python
Python读取Excel数据并生成图表过程解析
Jun 18 Python
基于OpenCV的网络实时视频流传输的实现
Nov 15 Python
python字典按照value排序方法
Dec 28 Python
利用Python过滤相似文本的简单方法示例
Feb 03 Python
Python操作rabbitMQ的示例代码
Mar 19 #Python
Python Matplotlib实现三维数据的散点图绘制
Mar 19 #Python
浅谈python中get pass用法
Mar 19 #Python
使用matplotlib中scatter方法画散点图
Mar 19 #Python
详解django+django-celery+celery的整合实战
Mar 19 #Python
详解Python正则表达式re模块
Mar 19 #Python
python matplotlib画图库学习绘制常用的图
Mar 19 #Python
You might like
flash用php连接数据库的代码
2011/04/21 PHP
解析thinkphp的左右值无限分类
2013/06/20 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
php导出生成word的方法
2015/12/25 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
2013/01/09 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
python采用getopt解析命令行输入参数实例
2014/09/30 Python
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
python通过线程实现定时器timer的方法
2015/03/16 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
Python button选取本地图片并显示的实例
2019/06/13 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
职称自我鉴定
2013/10/15 职场文书
办公室岗位职责
2014/02/12 职场文书
合作协议书范本
2014/10/25 职场文书
2015年校长新年寄语
2014/12/08 职场文书
毕业欢送会致辞
2015/07/29 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
PHP中->和=>的意思
2021/03/31 PHP
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android