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使用django搭建web开发环境
Jun 09 Python
使用python实现knn算法
Dec 20 Python
基于Python的文件类型和字符串详解
Dec 21 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
Python魔法方法功能与用法简介
Apr 04 Python
python内置模块collections知识点总结
Dec 19 Python
TensorFlow tf.nn.max_pool实现池化操作方式
Jan 04 Python
什么是python的列表推导式
May 26 Python
python各种excel写入方式的速度对比
Nov 10 Python
python自动从arxiv下载paper的示例代码
Dec 05 Python
浅析python字符串前加r、f、u、l 的区别
Jan 24 Python
opencv实现图像平移效果
Mar 24 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
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
Jquery iframe内部出滚动条
2010/02/11 Javascript
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
详细解析Python中的变量的数据类型
2015/05/13 Python
python动态加载包的方法小结
2016/04/18 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
详解Django配置JWT认证方式
2020/05/09 Python
Python 爬虫性能相关总结
2020/08/03 Python
python源文件的字符编码知识点详解
2021/03/04 Python
房地产销售经理岗位职责
2014/01/01 职场文书
思想品德自我评价
2014/02/04 职场文书
南京南京观后感
2015/06/02 职场文书
MySQL RC事务隔离的实现
2022/03/31 MySQL