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使用urllib2获取网络资源实例讲解
Dec 02 Python
python使用reportlab画图示例(含中文汉字)
Dec 03 Python
将Python的Django框架与认证系统整合的方法
Jul 24 Python
详解Python编程中time模块的使用
Nov 20 Python
利用Python脚本生成sitemap.xml的实现方法
Jan 31 Python
浅谈Python 的枚举 Enum
Jun 12 Python
python处理按钮消息的实例详解
Jul 11 Python
Python实现图片拼接的代码
Jul 02 Python
对Python 多线程统计所有csv文件的行数方法详解
Feb 12 Python
python 堆和优先队列的使用详解
Mar 05 Python
PyTorch搭建一维线性回归模型(二)
May 22 Python
pandas 如何分割字符的实现方法
Jul 29 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防攻击代码升级版
2010/12/29 PHP
php头像上传预览实例代码
2017/05/02 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
js正确获取元素样式详解
2009/08/07 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
2016/07/21 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
Python列表嵌套常见坑点及解决方案
2020/09/30 Python
CSS3用@font-face实现自定义英文字体
2013/09/23 HTML / CSS
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
C,C++的几个面试题小集
2013/07/13 面试题
事业单位鉴定材料
2014/05/25 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
党员争先创优承诺书
2015/01/20 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
施工现场安全管理制度
2015/08/05 职场文书