A25997. 工资系统某学校需要开发一个教师工资计算系统,该系统需要根据教师的职称、基本工资和课时工资自动计算每位教师的月工资。教师的工资由两部分组成:结构工资 = 基本工资 × 职称系数总工资 = 结构工资 + 课时工资学校制定了不同职称对应的配置标准:对于未列出的职称,使用默认值:基本工资5000,职称系数1.0。输入输出示例输入数据格式为元组:(姓名, 职称, 课时工资)test_cases = [ (…
填空题
困难
知识点
题目描述
工资系统
某学校需要开发一个教师工资计算系统,该系统需要根据教师的职称、基本工资和课时工资自动计算每位教师的月工资。教师的工资由两部分组成:
结构工资 = 基本工资 × 职称系数
总工资 = 结构工资 + 课时工资
学校制定了不同职称对应的配置标准:
对于未列出的职称,使用默认值:基本工资5000,职称系数1.0。
输入输出示例
输入数据格式为元组:(姓名, 职称, 课时工资)
test_cases = [ ("张老师", "一级教师", 1200), ("李老师", "副高级教师", 1500),("王老师", "特级教师", 2000) ]
预期输出:
张老师(一级教师)总工资:7800.0
李老师(副高级教师)总工资:11100.0
王老师(特级教师)总工资:7000.0
相关Python程序如下,请补全代码完成功能实现。
TITLE_CONFIG = {
"二级教师": {"coeff": 1.0, "base": 5000},
"一级教师": {"coeff": 1.1, "base": 6000},
"副高级教师": {"coeff": 1.2, "base": 8000}
}
class Teacher:
def __init__(self, name, title, hourly_wage):
self.name = name
self.title = title
self.hourly_wage = hourly_wage
self.config = TITLE_CONFIG.get(title, {"coeff": 1.0, "base": 5000})
def calculate_structural_salary(self):
return self.config["base"] * ______ ① ______
def total_salary(self):
return self.calculate_structural_salary() + ______ ② ______
test_cases = [("张老师", "一级教师", 1200), ("李老师", "副高级教师", 1500), ("王老师", "特级教师", 2000)]
for case in test_cases:
______ ③ ______ = Teacher(*case)
print(f"{teacher.name}({teacher.title})总工资:{______ ④ ______ :.1f}")参考答案
TITLE_CONFIG = {
"二级教师": {"coeff": 1.0, "base": 5000},
"一级教师": {"coeff": 1.1, "base": 6000},
"副高级教师": {"coeff": 1.2, "base": 8000}
}
class Teacher:
def __init__(self, name, title, hourly_wage):
self.name = name
self.title = title
self.hourly_wage = hourly_wage
self.config = TITLE_CONFIG.get(title, {"coeff": 1.0, "base": 5000})
def calculate_structural_salary(self):
return self.config["base"] * self.config["coeff"]
def total_salary(self):
return self.calculate_structural_salary() + self.hourly_wage
test_cases = [("张老师", "一级教师", 1200), ("李老师", "副高级教师", 1500), ("王老师", "特级教师", 2000)]
for case in test_cases:
teacher = Teacher(*case)
print(f"{teacher.name}({teacher.title})总工资:{teacher.total_salary():.1f}")答案解析
评分标准:
(1)self.config["coeff"] (或等效答案);(3分)
(2)self.hourly_wage(或等效答案);(3分)
(3)teacher(或等效答案) ;(2分)
(4)teacher.total_salary()(或等效答案) 。(2分)
上一题
下一题