项目简介:随着学校的规模变大,对应的学员回越来越多,相应的管理越来越难。 学员信息管理系统主要是对学员的各种信息进行管理,能够让学员的信息关系变得科学化、系统化和规范化。
知识点:实体类、成员变量属性、方法、集合
受众:中级测试工程师
作业内容:
- 编写学员实体类 Student,对应成员变量包含:学号 id、姓名 name、性别 sex;
- 编写学员管理类 StudentManagement ,实现添加学员方法 addStudent()。
- 编写StudentManagement的main()方法进行学员信息的添加:
学号:1001,姓名:张三,性别:男。
学号:1002,姓名:莉丝,性别:女。
学号:1003,姓名:王武,性别:男。 - 编写学员管理类 StudentManagement ,实现删除学员方法 deleteStudent(),根据学员id 删除以下学员:
学号:1002,姓名:莉丝,性别:女。
示例效果
命令行输出打印效果如下:
添加的学员信息:
学号:1001,姓名:张三,性别:男。
学号:1002,姓名:莉丝,性别:女。
学号:1003,姓名:王武,性别:男。
删除后的学员信息:
学号:1001,姓名:张三,性别:男。
学号:1003,姓名:王武,性别:男。
list = [[1001, "张三", "男"], [1002, "莉丝", "女"], [1003, "王武", "男"]]
sutdent = []
sutdents = []
class Student:
def __init__(self, id, name, sex):
self.id = id
self.name = name
self.sex = sex
class StudentManagement:
def adstu(func):
def inner(*args, **kwargs):
print('添加学员信息如下:')
func(*args, **kwargs)
return inner
@adstu
def addStudent(self):
for i in range(0, len(list)):
aa = list[i]
ss = Student(aa[0], aa[1], aa[2])
print(f'学号:{ss.id},姓名:{ss.name},性别:{ss.sex}')
sutdent.append({"id": ss.id, "name": ss.name, "sex": ss.sex})
def main(self):
ss = StudentManagement.addStudent(list)
def destu(func):
def inners(*args, **kwargs):
print('要删除的学员信息如下:')
func(*args, **kwargs)
return inners
@destu
def deleteStudent(self):
for k in range(0, len(sutdent)):
if int(sutdent[k]["id"]) == 1002:
sss = sutdent[k]
dd = Student(sss["id"], sss["name"], sss["sex"])
print(f'学号:{dd.id},姓名:{dd.name},性别:{dd.sex}')
sutdent.pop(k)
break
else:
continue
def dedadd(func):
def innerss(*args, **kwargs):
print('删除后的学员信息如下:')
func(*args, **kwargs)
return innerss
@dedadd
def new_addn(self):
for j in range(0,len(sutdent)):
cc= sutdent[j]
# print(cc)
dd = Student(cc["id"], cc["name"], cc["sex"])
# print(f'dd={dd}')
print(f'学号:{dd.id},姓名:{dd.name},性别:{dd.sex}')
sutdents.append({"id": dd.id, "name": dd.name, "sex": dd.sex})
StudentManagement.main(list)
StudentManagement.deleteStudent(sutdent)
StudentManagement.new_addn(sutdent)