5.23

所学时间:2小时

代码行数:200

博客园数:1篇

所学知识:

(三)、设计并实现计算不同职称的教师工资

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

程序中定义各种教师类的对象,并编写程序求这些教师的月工资。

【源代码程序】

 

# 教师接口 class Teacher: def __init__(self, name, gender, birthdate, teaching_hours): self.name = name self.gender = gender self.birthdate = birthdate self.teaching_hours = teaching_hours def calculate_salary(self): pass # 教授类 class Professor(Teacher): def __init__(self, name, gender, birthdate, teaching_hours): super().__init__(name, gender, birthdate, teaching_hours) self.title = "教授" def calculate_salary(self): fixed_salary = 5000 hourly_allowance = 50 total_salary = fixed_salary + self.teaching_hours * hourly_allowance return total_salary # 副教授类 class AssociateProfessor(Teacher): def __init__(self, name, gender, birthdate, teaching_hours): super().__init__(name, gender, birthdate, teaching_hours) self.title = "副教授" def calculate_salary(self): fixed_salary = 3000 hourly_allowance = 30 total_salary = fixed_salary + self.teaching_hours * hourly_allowance return total_salary # 讲师类 class Lecturer(Teacher): def __init__(self, name, gender, birthdate, teaching_hours): super().__init__(name, gender, birthdate, teaching_hours) self.title = "讲师" def calculate_salary(self): fixed_salary = 2000 hourly_allowance = 20 total_salary = fixed_salary + self.teaching_hours * hourly_allowance return total_salary # 创建教师对象并计算月工资 professor = Professor("张三", "男", "1980-05-15", 80) associate_professor = AssociateProfessor("李四", "女", "1985-10-20", 60) lecturer = Lecturer("王五", "男", "1990-12-25", 40) print(f"{professor.title} {professor.name} 的月工资为:{professor.calculate_salary()}元") print(f"{associate_professor.title} {associate_professor.name} 的月工资为:{associate_professor.calculate_salary()}元") print(f"{lecturer.title} {lecturer.name} 的月工资为:{lecturer.calculate_salary()}元")

posted @ 2024-05-23 17:28  Snor9  阅读(7)  评论(0)    收藏  举报