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处理中文编码和判断编码示例
Feb 26 Python
python调用短信猫控件实现发短信功能实例
Jul 04 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
详解Python文件修改的两种方式
Aug 22 Python
python实现矩阵和array数组之间的转换
Nov 29 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Pytorch转onnx、torchscript方式
May 25 Python
Python常用库Numpy进行矩阵运算详解
Jul 21 Python
2020版Python学习路线图(附学习资料)
Sep 15 Python
python抢购软件/插件/脚本附完整源码
Mar 04 Python
Python基础之赋值,浅拷贝,深拷贝的区别
Apr 30 Python
python可视化大屏库big_screen示例详解
Nov 23 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
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
php操作access数据库的方法详解
2017/02/22 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
初步探究Python程序的执行原理
2015/04/11 Python
使用Python &amp; Flask 实现RESTful Web API的实例
2017/09/19 Python
python先序遍历二叉树问题
2017/11/10 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
python如何实现异步调用函数执行
2019/07/08 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
Python内置类型性能分析过程实例
2020/01/29 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
python使用bs4爬取boss直聘静态页面
2020/10/10 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
技术总监管理岗位职责
2014/03/09 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
教师个人年终总结
2015/02/11 职场文书
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers