ljq010416 2021-11-18 18:21 采纳率: 20%
浏览 59
已结题

关于以下Python代码编写的问题

请利用“类和对象”的相关知识,实现如下功能:
1). 创建 Person类,属性有姓名(str型)、年龄(int型)、性别(str型);创建方法 personInfo,打印个人信息
2). 创建 Student类,继承 Person类,属性有学校 college(str型),系部 department(str型),年级 grade(str型);重写父类 personInfo方法,调用父类方法打印个人信息外,将学生的学校、系部、年级信息也打印出来;创建方法 score,实现键盘输入高等数学(math)成绩(float型),探索性数据分析(eda)成绩(float型),英语(en)成绩(float型),并能计算这三门课的总绩点(float型)和平均绩点(float型);创建方法 gpaInfo,打印学生信息(包括姓名、学校、系部、年级)、总绩点以及平均绩点(保留2位小数)。
注:
1). 绩点计算按照学员计算方法。课程学分,高等数学:6学分,探索性数据分析:2学分,英语:1学分。
2). 除上述要求外,实现过程中若有需要,可自行定义其它属性和方法。

img

  • 写回答

1条回答 默认 最新

  • CSDN专家-黄老师 2021-11-18 19:02
    关注
    
    class Person:
        def __init__(self, name, age, sex):
            self.name = name
            self.age = age
            self.sex = sex
    
        def personInfo(self):
            print(f'{self.name}, {self.age}, {self.sex}')
    
    
    class Student(Person):
        def __init__(self, name, age, sex, college, department, grade):
            super().__init__(name, age, sex)
            self.college = college
            self.department = department
            self.grade = grade
    
        def personInfo(self):
            super().personInfo()
            print(f'{self.college}, {self.department}, {self.grade}')
    
        def score(self):
            m = int(input('输入高等数学成绩'))
            e = int(input('输入英语成绩'))
            eda = int(input('输入探索性数据分析成绩'))
            self.count = sum([m, e, eda])
            self.avg = round(self.count / 3, 2)
    
        def gpaInfo(self):
            print(f'总成绩{self.count}, 平均分{self.avg}')
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 11月18日

悬赏问题

  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)