将学生对象存入列表中,并按成绩对学生进行排序,并获取成绩最高和成绩最低的学生信息,并将最高分和最低分的学生从列表删除,最后再对列表进行拷贝,对拷贝的列表进行翻转输出。
import copy class Student: def __init__(self, sno, name, age, score): self.sno = sno self.name = name self.age = age self.score = score def __str__(self): return '学号:'+self.sno+',姓名:'+self.name+',年龄:'+self.age+',成绩:'+self.score if __name__ == '__main__': ls1 = [Student('181010', '黎明', '18', '90'), Student('181256', '王三千', '20', '89'), Student('182345', '国谷机', '18', '98'), Student('181568', '白开水', '19', '67')] ls1.sort(key=lambda stu: stu.score) print("成绩最高的学生信息:", ls1[3]) print("成绩最低的学生信息:", ls1[0]) del ls1[3], ls1[0] ls2 = copy.deepcopy(ls1) ls2.reverse() for i in range(2): print(ls2[i])
重点:
1.面向对象
2. _str _print输出时自动调用
3. sort排序
4. del 删除
5. copy.deepcopy()深拷贝
6. reverse()翻转
按照书上的例子写的!