编程题

工资管理

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