Python学生成绩管理

将学生对象存入列表中,并按成绩对学生进行排序,并获取成绩最高和成绩最低的学生信息,并将最高分和最低分的学生从列表删除,最后再对列表进行拷贝,对拷贝的列表进行翻转输出。
import random
class student:
    # 定义构造方法
    def __init__(self, name, age, score):
        self.name = name
        self.age = age
        self.score = score
    def info(self):
        print("%s, %d 岁,成绩:%.2f。" % (self.name, self.age, self.score))
if __name__ == '__main__':
    students = []
    for i in range(5):
        # 随机产生年龄和成绩,年龄在18-21之间,成绩在0-100之间
        age = random.randint(18, 21)
        score = random.randint(0, 100)
        students.append(student('张三' + str(i), age, score))
    print("--------遍历学生信息----------")
    for s in students:
        s.info()  # 遍历输出学生信息
    students.sort(key=lambda stu: stu.score, reverse=True)
    print("----------按照学生成绩排序后输出------------")
    for i in students:
        i.info()  # 按照学生成绩进行排序后的输出
    lowest = students.pop(-1)
    highest = students.pop(0)
    highest.info()
    lowest.info()
    print("------------输出去掉最高分和最低分的学生信息------------")
    for i in students:
        i.info()  # 输出去掉最高分和最低分的学生信息
    print("--------------将学生信息拷贝,从小到大排序---------------")
    # 将学生信息进行拷贝
    stuList = students.copy()
    # 将学生信息从小到大排序
    stuList.reverse()
    for i in stuList:
        i.info()  # 输出按照成绩从小到大排列的学生信息

结果:

Python学生成绩管理_第1张图片

 

你可能感兴趣的:(python,开发语言)