3、实验题目:学生成绩管理
将学生对象存入列表中,并按成绩对学生进行排序,并获取成绩最高和成绩最低的学生信息,并将最高分和最低分的学生从列表删除,最后再对列表进行拷贝,对拷贝的列表进行翻转输出。
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()翻转
按照书上的例子写的!