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

A35677. 工资管理编写简单的工资管理程序, 系统中包含工人(worker)和经理(manage), 所有员工都有员工号、姓名、 基本工资等属性。工人:工人具有工作小时数和时薪的属性,工资计算方法为基本工资 + 工作小时数 * 时薪;经理: 具有固定的月薪, 计算方法为固定月 薪。根据以上的要求设计类, 显示人员的信息和工资情况, 运行结果如下:工号:001, 姓名:King, 本月 工资:10000Kin…

填空题 困难

题目描述

工资管理

编写简单的工资管理程序, 系统中包含工人(worker)和经理(manage), 所有员工都有员工号、姓名、 基本工资等属性。

工人:工人具有工作小时数和时薪的属性,工资计算方法为基本工资 + 工作小时数 * 时薪;

经理: 具有固定的月薪, 计算方法为固定月 薪。

根据以上的要求设计类, 显示人员的信息和工资情况, 运行结果如下:

工号:001, 姓名:King, 本月 工资:10000

King 的月 薪是: 10000

工号:002, 姓名:Lily, 本月 工资:20000

Lily 每天的工作时长:10 小时

Lily 的月 薪是: 20000

class Person():
    def __init__(self,id,name,salary):
        self.id = id
        self.name = name
        ______①______
    def __str__(self):#查看对象, 触发执行 print 语句
        msg = '工号:{}, 姓名:{}, 本月 工资:{}'.format(self.id,self.name,self.salary)
        return msg
class Worker(Person):
    def __init__(self,id,name,salary,hours,per_hour):
        super().__init__(id,name,salary)
        self.hours = hours
        self.per_hour = per_hour
    def getSalary(self):
        money = self.hours * self.per_hour
        ______②______
        return ______③______
class Manage(Person):
    def __init__(self,id,name,salary,time):
        super().__init__(id,name,salary)
        self.time = time
    def getSalary(self):
        return self.salary,self.time
worker = Worker('001','King',2000,160,50)
sal = worker.getSalary()
print(worker)
print('King 的月 薪是: {}'.format(sal))
manage = Manage('002','Lily',20000,10)
______④______ , work_time = manage.getSalary()
print(manage)
print('{}每天的工作时长:{}小时'.format('Lily', ______⑤______ ))
print('Lily 的月 薪是:',sal)

参考答案

class Person(): def __init__(self,id,name,salary): self.id = id self.name = name self.salary = salary def __str__(self): msg = '工号:{}, 姓名:{}, 本月 工资:{}'.format(self.id,self.name,self.salary) return msg class Worker(Person): def __init__(self,id,name,salary,hours,per_hour): super().__init__(id,name,salary) self.hours = hours self.per_hour = per_hour def getSalary(self): money = self.hours * self.per_hour self.salary += money return self.salary class Manage(Person): def __init__(self,id,name,salary,time): super().__init__(id,name,salary) self.time = time def getSalary(self): return self.salary,self.time worker = Worker('001','King',2000,160,50) sal = worker.getSalary() print(worker) print('King 的月 薪是: {}'.format(sal)) manage = Manage('002','Lily',20000,10) sal,work_time = manage.getSalary() print(manage) print('{}每天的工作时长:{}小时'.format('Lily',work_time)) print('Lily 的月 薪是: ',sal)

答案解析

评分标准:

(1) self.salary = salary; (2 分)

(2) self.salary += money; (2 分)

(3) self.salary; (2 分)

(4) sal; (2 分)

(5) work_time。 (2 分)

上一题 下一题