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采集腾讯新闻实例
Jul 10 Python
Python 两个列表的差集、并集和交集实现代码
Sep 21 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
Jun 28 Python
深入浅析Python传值与传址
Jul 10 Python
Ubuntu18.04下python版本完美切换的解决方法
Jun 14 Python
python2使用bs4爬取腾讯社招过程解析
Aug 14 Python
python lambda表达式(匿名函数)写法解析
Sep 16 Python
python deque模块简单使用代码实例
Mar 12 Python
基于python连接oracle导并出数据文件
Apr 28 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
Jun 11 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实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
PHP结合Mysql数据库实现留言板功能
2016/03/04 PHP
php实现登陆模块功能示例
2016/10/20 PHP
javascript取消文本选定的实现代码
2010/11/14 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
Jquery操作Ajax方法小结
2015/11/29 Javascript
Express的路由详解
2015/12/10 Javascript
图解js图片轮播效果
2015/12/20 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
详解Python中的日志模块logging
2015/06/19 Python
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
Python算法之图的遍历
2017/11/16 Python
python实现BackPropagation算法
2017/12/14 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
pymysql模块的操作实例
2019/12/17 Python
Python实现疫情通定时自动填写功能(附代码)
2020/05/27 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
团日活动策划书
2014/02/01 职场文书
运动会口号16字
2014/06/07 职场文书
弄虚作假心得体会
2014/09/10 职场文书
员工工作能力评语
2014/12/31 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
Python测试框架pytest高阶用法全面详解
2022/06/01 Python