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
几种实用的pythonic语法实例代码
Feb 24 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
python 列表降维的实例讲解
Jun 28 Python
Python 中的lambda函数介绍
Oct 10 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 Python
Opencv+Python 色彩通道拆分及合并的示例
Dec 08 Python
python 同时读取多个文件的例子
Jul 16 Python
django admin.py 外键,反向查询的实例
Jul 26 Python
python 计算方位角实例(根据两点的坐标计算)
Jan 17 Python
Python用input输入列表的实例代码
Feb 07 Python
Python中Yield的基本用法
Oct 18 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 连接mysql连接被重置的解决方法
2011/02/15 PHP
深入PHP5中的魔术方法详解
2013/06/17 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
浅析PHP开发规范
2018/02/05 PHP
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
Js获取当前日期时间及格式化代码
2016/09/17 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
pymssql数据库操作MSSQL2005实例分析
2015/05/25 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
python os.rename实例用法详解
2020/12/06 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
数据库专业英语
2012/11/30 面试题
精彩的大学生自我评价
2013/11/17 职场文书
职业生涯规划书基本格式
2014/01/06 职场文书
十八大感想感言
2014/02/10 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
体操比赛口号
2014/06/10 职场文书
捐款感谢信
2015/01/20 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书
一篇文章带你深入了解Mysql触发器
2021/08/02 MySQL
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers