编程题

工资管理

编写简单的工资管理程序, 系统中包含工人(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)

查看答案
赣ICP备20007335号-2