Python学习--第五天

第一题.定义people类包含公有属性:姓名。私有属性:基本工资。

  • 通过构造函数、输出函数(输出所有成员)、私有成员的存取函数。
  • 定义people的派生类—销售员类—包含销售量和销售区域属性。
    通过构造函数对其初始化,输出函数(输出所有成员). 计算工资函数(销售量10002%即为提成工资+父类people中的基本工资)
  • 定义people的派生类—储备干部类—包括私有成员储备等级(等级值范围1-5,5级别最高,可以依照储备类别升职)和储备类别属性.通过构造函数对其初始化(默认初始化基本工资3000,储备等级1等,其他属性由输入参数决定).输出函数(输出所有成员),薪资函数(依照等级提升薪资)(储备等级每升1挡,工资增加1000)提升等级函数(可以调用该方法修改等级,调用一次提升一档,注意工资要跟随产生变化,最高等级5级)
  • 定义多继承类—销售经理类—包含公有属性管理区域,经理的工资包含基本工资1W+销售区域提成(区域总数量*0.5%),构造函数和输出函数
class people:
    name = ''       #定义公有属性姓名
    __Salary = 0    #定义私有属性,工资
    #定义构造方法
    def __init__(self,n,s):
        self.name = n
        self.__Salary = s
    def Basic_Sallary(self):
        basic_sallary=self.__Salary
        return basic_sallary

class Salesman(people):
    volume=0        #销售量
    region=''       #地区
    def __init__(self,n,s,v,r):
        people.__init__(self,n,s)
        self.volume=v    #销售量
        self.region=r    #地区
    def AllSalary(self):
        allSalary=self.volume*1000*0.02+people.Basic_Sallary(self)
        print(allSalary)
    def show(self):
        print("姓名 :%s  - 销售量:%d   - 销售地区: %s 工资: " %
              (self.name,self.volume,self.region),end='')

class Leader(people):
    grade=1     #等级
    BasicSalary=3000   #基本工资
    def __init__(self,n,s,g,b):
        people.__init__(self,n,s)
        self.grade = g
        self.BasicSalary = b
    def Basic_Sallary(self):
       b = self.BasicSalary
       return b
    def Upgeade(self):
        if self.grade == 1:
           print("- 职称:项目总工 - 工资:",self.Basic_Sallary())
        elif self.grade == 2:
           print("- 职称:项目经理 - 工资:",self.Basic_Sallary()+1000)
        elif self.grade == 3:
            print("- 职称:总经理助理 - 工资:",self.Basic_Sallary()+2000)
        elif self.grade == 4:
           print("- 职称:副总经理 - 工资:",self.Basic_Sallary()+3000)
        elif self.grade == 5:
           print("- 职称:总经理 - 工资:",self.Basic_Sallary()+4000)
    def show(self):
        print("姓名 :%s  - 等级:%d   " %
              (self.name, self.grade), end='')

class Sales_Manager(Salesman,Leader):
    area=0
    def __init__(self, n,s,v,r,g,b,a):
        Leader.__init__(self, n, s, g, b)
        Salesman.__init__(self, n, s, v, r)
        self.area=a
    def AllSalary(self):
        allSalary = self.area * 0.005 + 10000
        print(allSalary)
    def show(self):
        print("姓名 :%s  - 管理地区: %s - 管理区域个数:%d  - 工资:" %
              (self.name,self.region,self.area), end='')


s=Salesman('小张',8000,20,'华北')
s.show()
s.AllSalary()
g=int(input("请输入1-5的整数:"))
l=Leader('小李',0,g,3000)
l.show()
l.Upgeade()
sm=Sales_Manager('老张',0,0,'华东',1,0,10000)
sm.show()
sm.AllSalary()

运行结果:

"F:\Python 3.8.0\python.exe"
姓名 :小张  - 销售量:20   - 销售地区: 华北 工资: 8400.0
请输入1-5的整数:2
姓名 :小李  - 等级:2   - 职称:项目经理 - 工资: 4000
姓名 :老张  - 管理地区: 华东 - 管理区域个数:10000  - 工资:10050.0
Process finished with exit code 0

第二题. 通过查找内置函数解决,输入指定的年份,月份和日期(如13号),能判断当天是星期几。

import datetime
y=int(input("请输入年份:"))
m=int(input("请输入月份:"))
d=int(input("请输入日期:"))
week=int(datetime.datetime(y,m,d).strftime("%w"))
def WEEK(week):
    if week==1:
        print("一")
    elif week==2:
        print("二")
    elif week == 3:
        print("三")
    elif week==4:
        print("四")
    elif week==5:
        print("五")
    elif week==6:
        print("六")
    elif week==7:
        print("日")

print("%d年%d月%d日是星期"%(y,m,d),end='')
WEEK(week)

运行结果:

"F:\Python 3.8.0\python.exe" 
请输入年份:2020
请输入月份:3
请输入日期:13
2020313日是星期五
Process finished with exit code 0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值