2024.5.22

8-3 【Python0016】设计并实现计算不同职称的教师工资
分数 10
作者 doublebest
单位 石家庄铁道大学

【题目描述】设计教师接口,该接口包含教师工资计算方法。应用(一)中的高校人员信息包,设计不同职称的教师类:教授,副教授,讲师,教师的基本信息包括姓名、性别、出生年月、职称、课时工作量等属性。注意学校对教师每月工资的计算规定如下:固定工资+课时补贴;教授的固定工资为5000元,每个课时补贴50元;副教授的固定工资为3000元,每个课时补贴30元;讲师的固定工资为2000元,每个课时补贴20元。

程序中定义各种教师类的对象,并编写程序求这些教师的月工资。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。

# 定义教师接口

class Teacher:

def __init__(self, name, gender, birthdate, title, teaching_hours):

self.name = name

self.gender = gender

self.birthdate = birthdate

self.title = title

self.teaching_hours = teaching_hours

def calculate_salary(self):

pass

# 定义教授类

class Professor(Teacher):

def calculate_salary(self):

# 固定工资

fixed_salary = 5000

# 课时补贴

hourly_allowance = 50 * self.teaching_hours

# 总工资

total_salary = fixed_salary + hourly_allowance

return total_salary

# 定义副教授类

class AssociateProfessor(Teacher):

def calculate_salary(self):

# 固定工资

fixed_salary = 3000

# 课时补贴

hourly_allowance = 30 * self.teaching_hours

# 总工资

total_salary = fixed_salary + hourly_allowance

return total_salary

# 定义讲师类

class Lecturer(Teacher):

def calculate_salary(self):

# 固定工资

fixed_salary = 2000

# 课时补贴

hourly_allowance = 20 * self.teaching_hours

# 总工资

total_salary = fixed_salary + hourly_allowance

return total_salary

# 测试

if __name__ == "__main__":

# 创建教师对象并计算工资

professor = Professor("John Doe", "Male", "1980-01-01", "Professor", 40)

associate_professor = AssociateProfessor("Jane Smith", "Female", "1985-05-10", "Associate Professor", 30)

lecturer = Lecturer("Alice Johnson", "Female", "1990-12-15", "Lecturer", 20)

# 打印工资

print(f"{professor.name}'s monthly salary: ${professor.calculate_salary()}")

print(f"{associate_professor.name}'s monthly salary: ${associate_professor.calculate_salary()}")

print(f"{lecturer.name}'s monthly salary: ${lecturer.calculate_salary()}")

 

posted @ 2024-06-13 15:44  liuxuechao  阅读(2)  评论(0编辑  收藏  举报