编写程序进行类的使用来打印学生信息

编写程序 创建一个学生类,有姓名,有年龄,有性别,有英语成绩,数学成绩,语文成绩
封装方法,求总分,平均分,以及打印学生的信息
创建三个对象,分别打印信息
对三个对象的成绩进行排序


"""
    链接
        https://ask.csdn.net/questions/7581296?spm=1005.2025.3001.5141
    问题
        编写程序 创建一个学生类,有姓名,有年龄,有性别,有英语成绩,数学成绩,语文成绩
        封装方法,求总分,平均分,以及打印学生的信息
        创建三个对象,分别打印信息
        对三个对象的成绩进行排序
"""


class Student:

    def __init__(self, name, age, sex, english_score, math_score, chinese_score):
        """
            创建一个学生类,有姓名,有年龄,有性别,有英语成绩,数学成绩,语文成绩
        :param name:
        :param age:
        :param sex:
        :param english_score:
        :param math_score:
        :param chinese_score:
        """
        self.name = name
        self.age = age
        self.sex = sex
        self.english_score = english_score
        self.math_score = math_score
        self.chinese_score = chinese_score

    def calculate_total_score(self):
        """
            求总分
        :return:
        """
        return self.english_score + self.math_score + self.chinese_score

    def calculate_average_score(self):
        """
            平均分
        :return:
        """
        return self.calculate_total_score() / 3

    def print_info(self):
        """
            以及打印学生的信息
        :return:
        """
        print('姓名:%s,年龄:%d,性别:%s,英语成绩:%d,数学成绩:%d,语文成绩:%d,总分:%d,平均分:%0.1f,'
              % (self.name, self.age, self.sex, self.english_score,
                 self.math_score, self.chinese_score,
                 self.calculate_total_score(), self.calculate_average_score()))


# 创建三个对象,分别打印信息
s1 = Student('小李', 25, '女', 75, 60, 85)
s1.print_info()
s2 = Student('小白', 24, '男', 78, 65, 95)
s2.print_info()
s3 = Student('小红', 25, '女', 45, 100, 93)
s3.print_info()

"""
    控制台
    姓名:小李,年龄:25,性别:女,英语成绩:75,数学成绩:60,语文成绩:85,总分:220,平均分:73.3,
    姓名:小白,年龄:24,性别:男,英语成绩:78,数学成绩:65,语文成绩:95,总分:238,平均分:79.3,
    姓名:小红,年龄:25,性别:女,英语成绩:45,数学成绩:100,语文成绩:93,总分:238,平均分:79.3, 
"""