实验题目:学生成绩管理
将学生对象存入列表中,并按成绩对学生进行排序,并获取成绩最高和成绩最低的学生信息,并将最高分和最低分的学生从列表删除,最后再对列表进行拷贝,对拷贝的列表进行翻转输出。 |
import copy
class Student:
def __init__(self, name, grade):
self.name = name
self.grade = grade
def __repr__(self):
return f'name={self.name},grade={self.grade}'
list_student = [
Student('小李', 90),
Student('小王', 88),
Student('小孙', 70),
Student('小明', 89),
Student('小红', 96),
Student('小白', 65),
Student('小刘', 34),
]
print('排序之前的学生成绩为:')
for i in list_student:
print(i)
list_student.sort(key=lambda Student: Student.grade,reverse=True)
print('排序之后的学生成绩为:')
for i in list_student:
print(i)
print('成绩最高的学生:',list_student[0])
print('成绩最低的学生:',list_student[-1])
del list_student[0]
del list_student[-1]
_list_student = copy.deepcopy(list_student)
print("对拷贝的列表进行翻转输出:")
for i in reversed(_list_student):
print(i)
知识点:f-string的使用,sort函数的使用
f'name={self.name},grade={self.grade}'
sort(key=lambda Student: Student.grade,reverse=True)