测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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分)


上一题 下一题