第一题.定义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
2020年3月13日是星期五
Process finished with exit code 0