请利用“类和对象”的相关知识,实现如下功能:
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). 除上述要求外,实现过程中若有需要,可自行定义其它属性和方法。
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}')