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快速从注释生成文档的方法
Dec 26 Python
浅析Python中的赋值和深浅拷贝
Aug 15 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
Dec 14 Python
python爬取足球直播吧五大联赛积分榜
Jun 13 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
对python函数签名的方法详解
Jan 22 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
python创建学生管理系统
Nov 22 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
Python selenium的基本使用方法分析
Dec 21 Python
Django Form设置文本框为readonly操作
Jul 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
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
Python中的生成器和yield详细介绍
2015/01/09 Python
定制FileField中的上传文件名称实例
2017/08/23 Python
Python高级用法总结
2018/05/26 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
python命令行参数用法实例分析
2019/06/25 Python
python实现数据分析与建模
2019/07/11 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
美国在线购物频道:Shop LC
2019/04/21 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
总裁秘书岗位职责
2013/12/04 职场文书
应届毕业生求职信范例分享
2013/12/17 职场文书
护士在校生自荐信
2014/02/01 职场文书
《第一朵杏花》教学反思
2014/04/16 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
Python中的tkinter库简单案例详解
2022/01/22 Python
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js