Cᴏᴍᴘʀᴏᴍɪsᴇ677 2021-11-27 00:08 采纳率: 66.7%
浏览 22
已结题

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

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

  • 写回答

1条回答 默认 最新

  • jialan75 2021-11-27 09:38
    关注
    
    """
        链接
            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, 
    """
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月13日
  • 已采纳回答 12月5日
  • 创建了问题 11月27日

悬赏问题

  • ¥15 51单片机两路互补SPWM输出全桥逆变
  • ¥15 outlook左边用户名下拉为啥打不开了
  • ¥15 MATLAB程序不报错,内部函数体无法跳出循环
  • ¥15 #运行环境为.vue#试过data那里把属性设为0 return输出默认值(没用),但是我commodityList数组里已经包含了呀
  • ¥20 【matlab】已知功率谱密度反求时域信号
  • ¥15 麦当劳点餐系统代码纠错
  • ¥15 用C++面向对象程序设计思想写出
  • ¥15 Python和ArcGIS技术问题
  • ¥20 simulink单相桥式整流电路
  • ¥35 问问51单片机流水灯的代码该怎么写