【基础】练习册2-Python3_学生信息管理程序

代码如下:

#学生信息管理程序

#已知学生类Student,学生集合类StuList。实现学生信息的追加、修改、删除、排序等操作

class Student:

    #其成员变量有id,name。course,且它重载了__repr__()方法

    def __init__(self,id,name,course):

        self.id=id

        self.name=name

        self.course=course

    def __repr__(self):

        return "{} {} {}".format(self.id,self.name,self.course)

class StuList:

    #承载了多名学生信息,重载了索引和切片的方法

    def __init__(self,data):

        self.data=data[:]

    def __getitem__(self,index):

        return self.data[index]

    def __setitem__(self,index,value):

        self.data[index]=value

    def __delitem__(self,index):

        del self.data[index]

s1=Student(12,'Rose','Python')

s2=Student(4,'John','Java')

s3=Student(22,'Elimy','C++')

lst=[s1,s2,s3]

stulist=StuList(lst)

print("-----遍历原始数据------")

for item in stulist:

    print(item)

print("-----追加数据后遍历-----")

s4=Student(111,'Anna','Cadence')

stulist.data.append(s4)

for item in stulist:

    print(item)

print("-----修改数据后遍历-----")

s5=Student(33,'Mike','C')

stulist[2]=s5

for item in stulist:

    print(item)

print("-----排序后遍历---------")

stulist.data.sort(key=lambda x:x.id,reverse=False)

for item in stulist:

    print(item)

print("-----删除后遍历---------")

del(stulist[2])

for item in stulist:

    print(item)


结果如下:

-----遍历原始数据------

12 Rose Python

4 John Java

22 Elimy C++

-----追加数据后遍历-----

12 Rose Python

4 John Java

22 Elimy C++

111 Anna Cadence

-----修改数据后遍历-----

12 Rose Python

4 John Java

33 Mike C

111 Anna Cadence

-----排序后遍历---------

4 John Java

12 Rose Python

33 Mike C

111 Anna Cadence

-----删除后遍历---------

4 John Java

12 Rose Python

111 Anna Cadence

你可能感兴趣的:(【基础】练习册2-Python3_学生信息管理程序)