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 相关文章推荐
采用Psyco实现python执行速度提高到与编译语言一样的水平
Oct 11 Python
Centos5.x下升级python到python2.7版本教程
Feb 14 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
Python爬虫番外篇之Cookie和Session详解
Dec 27 Python
python 图像平移和旋转的实例
Jan 10 Python
python实现词法分析器
Jan 31 Python
详解Python3注释知识点
Feb 19 Python
python模拟菜刀反弹shell绕过限制【推荐】
Jun 25 Python
Django框架 querySet功能解析
Sep 04 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
python pygame 愤怒的小鸟游戏示例代码
Feb 25 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 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项目打包方法
2008/02/18 PHP
实例分析10个PHP常见安全问题
2019/07/09 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
菜鸟javascript基础资料整理2
2010/12/06 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
npm qs模块使用详解
2020/02/07 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
布同自制Python函数帮助查询小工具
2011/03/13 Python
Python 元类实例解析
2018/04/04 Python
对python中的logger模块全面讲解
2018/04/28 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
opencv与numpy的图像基本操作
2019/03/08 Python
python把转列表为集合的方法
2019/06/28 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
应届生.NET方向面试题
2015/05/23 面试题
仓管员岗位职责范文
2013/11/08 职场文书
高二政治教学反思
2014/02/01 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
追悼会答谢词
2015/01/05 职场文书
辩论赛主持人开场白
2015/05/29 职场文书
Redis基本数据类型List常用操作命令
2022/06/01 Redis