【python】有2个类: 员工类:属性:名字、工号、部门、工资方法:涨工资 经理类继承自员工类 并多了一个属性:奖金 问题:某公司有员工3人 经理2名 请用一个列表来管理他们 请自行产生这些对象

# 有2个类:
# a. 员工类:属性:名字、工号、部门、工资方法:涨工资
# b. 经理类继承自员工类 并多了一个属性:奖金
# c. 问题:
# i. 1).某公司有员工3人 经理2名 请用一个列表来管理他们 请自行产生这些对象
# ii. 2.请输出所有员工的信息 格式:工号 部门 名字 工资
# iii. 3.请统一的为所有员工涨一次工资 员工涨10% 经理比员工多涨10%
# iv. 4.请输出所有员工涨工资后的信息 格式:工号 部门 名字 工资

解决方案如下:

class Staff:  # 员工
    __name = ''
    __job = 1243
    __department = '技术部'
    __wages = 1000
    def __init__(self, name1, job1, dep, wages1):
        self.__name = name1
        self.__job = job1
        self.__department = dep
        self.__wages = wages1
    def raise1(self, n):  # 涨工资
        self.__wages = self.__wages + (self.__wages * n)
    def __str__(self):
        return '姓名:{},工号:{},部门:{},工资{}'.format(self.__name, self.__job, self.__department, self.__wages)
class Executive(Staff):
    bonus =1
staff=Staff(1,2,3,4)
list_a=[]
# class Executive(Employee):
for i in range(5):
    if i>2:
        print('请输入Executive()类的值')
        ex=Executive()
        ex.name=input('请输入Executive名称')
        ex.age=int(input('请输入Executive年纪'))
        ex.gender=input('请输入Executive性别')
        ex.number=int(input('请输入Executive电话'))
        ex.raise1(0.2)#经理涨双倍
        list_a.append(ex.__str__())
    else:
        print('请输入Staff()类的值')
        em = Staff(1,2,3,4)
        em.name = input('请输入Staff()名称')
        em.age = int(input('请输入Staff()年纪'))
        em.gender = input('请输入Staff()性别')
        em.number = int(input('请输入Staff()电话'))
        em.raise1(0.1)#员工涨10%
        list_a.append(em.__str__())

print(list_a)

这道题会有一点复杂,但是说白了也就是在外面用了个判断,多试试就明白其中的含义了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值