python学生管理系统学习笔记
作者:qd_tudou 发布时间:2022-06-25 13:55:05
标签:python,管理系统
本文实例为大家分享了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("输入序号无效")
来源:https://blog.csdn.net/yaoliuwei1426/article/details/80690927


猜你喜欢
- pytorch中我们有时候可能需要设定某些变量是参与训练的,这时候就需要查看哪些是可训练参数,以确定这些设置是成功的。pytorch中mod
- 目录一、ACID 特性二、事务控制语法三、事务并发异常1、脏读2、不可重复读3、幻读四、事务隔离级别一、ACID 特性事务处理是一种对必须整
- 一直以来,每次调用Ajax方法都需要创建一次 Microsoft.XMLHTTP 对象,今天在使用Ajax技术做一个类似聊天室的
- 作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇
- 404错误是指在服务器找不到指定的页面。404错误页面是可以自定义的。Smashing Magazine为我们挑选了40个有创意的404错误
- 前言上篇介绍了go-grpc-middleware的grpc_zap、grpc_auth和grpc_recovery使用,本篇将介绍grpc
- 一、先描述一下问题吧如下创建表时候报错了CREATE TABLE `xxx` ( `id` bigint(20) NOT NUL
- 实现原理PS的扩散效果可以产生类似毛玻璃质感的效果,使画面有些毛毛的感觉。其实现可通过操作像素三通道数值的方式实现,定义一个随机数器,将图像
- DateDiff 函数描述 返回两个日期之间的时间间隔。 语法 DateDiff(interval, date1, date2 [,firs
- 1.不装入数据库而启动事例 可以不装入数据库而启动事例,一般是在数据库才创建时才可以这样做:STARTUP NOMOUNT2.启动事例并装入
- 说在前面突发奇想,想了解一下mysql order by排序是以什么规则进行的? 好了,话不多说,直接进入正题吧。MySql order b
- 工程结构views.pydef home(request): TutorialList = ["HTML",
- 什么是数据库镜像?Robidoux:数据库镜像是将数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境中的另一个
- 全局,动态,默认值-1表示自动调整大小,公式:8 + (max_connections / 100)。最小值0,最大值16384,查看当前:
- 故障表现一方面 :在阿里云控制台云数据库PolarDB对应的集群管理页面上,在诊断与优化模块里面的一键诊断会话管理中,发现某条update
- 1. 自己用python写了一个签到脚本经过测试已经可以成功打卡,于是研究了一下windows定时运行程序2. 创建定时任务2.1 打开“控
- 一个post类型的接口怎么编写脚本实现1、打开网页,在fiddler上获取到接口的URL2、用Python的requests库实现impor
- 1.在OpenCV中我们经常会遇到一个名字:Mask(掩膜)。很多函数都使用到它,那么这个Mask到底什么呢?2.如果我们想要裁剪图像中任意
- 一、背景大家好,我是J哥。也许你还记得,前不久复旦大学一博士生写了130行Python代码,批量识别核酸截图内容的故事。当时还被人民日报公众
- 阅读上一篇:[译]Javascript风格要素(一) 我们使用习惯用法可以使我们的意图更加的清晰和简洁。使用==时,当心强制转换考虑下面函数