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中的with...as用法介绍
May 28 Python
python运行其他程序的实现方法
Jul 14 Python
Python MD5加密实例详解
Aug 02 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
python+matplotlib演示电偶极子实例代码
Jan 12 Python
解决pycharm的Python console不能调试当前程序的问题
Jan 20 Python
python3调用windows dos命令的例子
Aug 14 Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 Python
提升python处理速度原理及方法实例
Dec 25 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
python numpy中multiply与*及matul 的区别说明
May 26 Python
PyTorch device与cuda.device用法
Apr 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
基于php冒泡排序算法的深入理解
2013/06/09 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
python切换hosts文件代码示例
2013/12/31 Python
python模拟鼠标拖动操作的方法
2015/03/11 Python
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
解决python运行启动报错问题
2020/06/01 Python
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
信息专业个人的自我评价
2013/12/27 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
保研导师推荐信
2015/03/25 职场文书
历史博物馆观后感
2015/06/05 职场文书
初中语文教师研修日志
2015/11/13 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android