3)根据类的继承原理,设计Person类的一个子类,叫做教师类(Teather 类),该类主要对学校教师的个人信息及教课情况等进行记录和管理,能够进行教师个人信息及工资、科目等信息的录入和输出,并能够统计教师全年平均工资。 属性:工号、系别、工资、教授科目及人数 方法:信息的输入、信息的输出、个人平均工资的统计方法。
时间: 2024-04-01 11:38:23 浏览: 75
好的,根据您的要求,我设计了一个Teather类,它继承自Person类,代码如下:
```python
class Person:
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
class Teacher(Person):
def __init__(self, name, age, gender, job_id, department, salary, subject, student_num):
super().__init__(name, age, gender)
self.job_id = job_id
self.department = department
self.salary = salary
self.subject = subject
self.student_num = student_num
def input_info(self):
self.job_id = input("请输入教师的工号:")
self.department = input("请输入教师所在系别:")
self.salary = float(input("请输入教师的工资:"))
self.subject = input("请输入教师的教授科目:")
self.student_num = int(input("请输入教师教授科目的学生人数:"))
def output_info(self):
print("教师姓名:%s" % self.name)
print("教师年龄:%d" % self.age)
print("教师性别:%s" % self.gender)
print("教师工号:%s" % self.job_id)
print("教师所在系别:%s" % self.department)
print("教师工资:%.2f" % self.salary)
print("教师教授科目:%s" % self.subject)
print("教师教授学生人数:%d" % self.student_num)
def calc_average_salary(self, teacher_list):
total_salary = 0
for teacher in teacher_list:
total_salary += teacher.salary
average_salary = total_salary / len(teacher_list)
return average_salary
```
Teather类有属性工号(job_id)、系别(department)、工资(salary)、教授科目(subject)及人数(student_num),以及方法信息的输入(input_info)、信息的输出(output_info)、个人平均工资的统计方法(calc_average_salary)。其中,calc_average_salary方法接收一个教师列表,返回列表中教师的平均工资。
请问还有其他问题吗?
阅读全文