|
|
发表于 2026-3-6 14:43:16
|
显示全部楼层
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
class YG:
def __init__(self, name, job, grade, year, uid):
self.name = name
self.job = job
self.grade = grade
self.year = year
self.uid = uid
def get_uid(self):
return self.uid
def get_name(self):
return self.name
def get_job(self):
return self.job
def get_year(self):
return self.year
def get_grade(self):
return self.grade
class Employee(YG):
def salary(self):
return self.grade*500+50*self.year+3000
class Teamleader(YG):
def salary(self):
return self.grade*800+100*self.year+4000
class Manager(YG):
def salary(self):
return (self.grade+self.year)*1000+5000
class Manage( ):
def __init__(self):
self.members = {}
self.cardid = 10000
# 程序功能入口
def welcome(self):
ins = 0
while ins != '5':
ins = input("\n1.录入;2.查询;3.升级;4.降级;5.退出程序:")
if ins == '1':
self.luru()
if ins == '2':
self.chaxun()
if ins == '3':
self.shengji()
if ins == '4':
self.jiangji()
if ins == '5':
print("感谢使用")
def luru(self):
name = input("姓名:")
job = input("职位(E.普通员工T.组长M.经理):")
year = int(input("工龄:"))
if job=='E':
grade = int(input("级别:"))
while grade>10:
grade = int(input('该职位最高为10级,请重新输入'))
ee = Employee(name, job, grade, year,self.cardid)
self.members[self.cardid] = ee
if job=='T':
grade = int(input("级别:"))
while grade>6:
grade = int(input('该职位最高为6级,请重新输入'))
tt = Teamleader(name, job, grade, year,self.cardid)
self.members[self.cardid] = tt
if job=='M':
grade = int(input("级别:"))
while grade>3:
grade = int(input('该职位最高为3级,请重新输入'))
mm = Manager(name, job, grade, year,self.cardid)
self.members[self.cardid] = mm
print(f"录入成功!姓名{name},工号{self.cardid},薪资:{self.members[self.cardid].salary()}")
self.cardid += 1
def chaxun(self):
c=input('1.员工查询 2.职位查询:')
if c=='1':
card=int(input('请输入工号:'))
if not self.members.get(card):
print('员工号不存在')
return 0
else:
print(f'姓名:{self.members.get(card).get_name()}')
print(f'职位:{self.members.get(card).get_job()}')
print(f'级别:{self.members.get(card).get_grade()}')
print(f'工龄:{self.members.get(card).get_year()}')
print(f'薪资:{self.members.get(card).salary()}')
if c=='2':
job=input('请输入要查询的职位(E.普通员工T.组长M.经理):')
if job=='E':
jobname='普通员工'
if job=='T':
jobname='组长'
if job=='M':
jobname='经理'
js=0
cxxs=[]
for i in self.members:
if self.members[i].job==job:
js=js+1
cxxs.append(f'{self.members[i].uid} - {self.members[i].name}')
if js==0:
print(f'目前公司没有{jobname}')
else:
print(f'目前{jobname}共有{js}人')
for i in cxxs:
print(i)
def shengji(self):
card=int(input('请输入工号:'))
if not self.members.get(card):
print('员工号不存在!')
return 0
else:
print(f'{self.members.get(card).get_name()},工号:{card},当前职位:{self.members.get(card).get_job()}{self.members.get(card).get_grade()},当前薪资:{self.members.get(card).salary()}')
sj=int(input('请输入需要增加的级数:'))
newgrade=self.members.get(card).get_grade()+sj
if self.members.get(card).get_job()=='E':
if newgrade > 10:
tt=Teamleader(self.members.get(card).name,'T',1,self.members.get(card).year,card)
print('升级成功')
print(f'{tt.get_name()},工号:{card},当前职位:{tt.get_job()}{tt.get_grade()},升级后薪资:{tt.salary()}(+{tt.salary()-self.members.get(card).salary()})')
self.members[card]=tt
else:
ee=Employee(self.members.get(card).name,'E',newgrade,self.members.get(card).year,card)
print('升级成功')
print(f'{ee.get_name()},工号:{card},当前职位:{ee.get_job()}{ee.get_grade()},升级后薪资:{ee.salary()}(+{ee.salary()-self.members.get(card).salary()})')
self.members[card]=ee
return 0
if self.members.get(card).get_job()=='T':
if newgrade > 6:
mm=Manager(self.members.get(card).name,'M',1,self.members.get(card).year,card)
print('升级成功')
print(f'{mm.get_name()},工号:{card},当前职位:{mm.get_job()}{mm.get_grade()},升级后薪资:{mm.salary()}(+{mm.salary()-self.members.get(card).salary()})')
self.members[card]=mm
else:
tt=Teamleader(self.members.get(card).name,'T',1,self.members.get(card).year,card)
print('升级成功')
print(f'{tt.get_name()},工号:{card},当前职位:{tt.get_job()}{tt.get_grade()},升级后薪资:{tt.salary()}(+{tt.salary()-self.members.get(card).salary()})')
self.members[card]=tt
return 0
if self.members.get(card).get_job()=='M':
if self.members.get(card).grade==3:
print('您已经是最高等级')
return 0
if newgrade > 3:
mm=Manager(self.members.get(card).name,'M',3,self.members.get(card).year,card)
print('升级成功')
print(f'{mm.get_name()},工号:{card},当前职位:{mm.get_job()}{mm.get_grade()},升级后薪资:{mm.salary()}(+{mm.salary()-self.members.get(card).salary()})')
self.members[card]=mm
else:
mm=Manager(self.members.get(card).name,'M',newgrade,self.members.get(card).year,card)
print('升级成功')
print(f'{mm.get_name()},工号:{card},当前职位:{mm.get_job()}{mm.get_grade()},升级后薪资:{mm.salary()}(+{mm.salary()-self.members.get(card).salary()})')
self.members[card]=mm
return 0
def jiangji(self):
card=int(input('请输入工号:'))
if not self.members.get(card):
print('员工号不存在')
return 0
else:
print(f'{self.members.get(card).get_name()},工号:{card},当前职位:{self.members.get(card).get_job()}{self.members.get(card).get_grade()},当前薪资:{self.members.get(card).salary()}')
sj=int(input('请输入需要减少的级数:'))
newgrade=self.members.get(card).get_grade()-sj
if self.members.get(card).get_job()=='M':
if newgrade < 0:
tt=Teamleader(self.members.get(card).name,'T',6,self.members.get(card).year,card)
print('降级成功')
print(f'{tt.get_name()},工号:{card},当前职位:{tt.get_job()}{tt.get_grade()},降级后薪资:{tt.salary()}(-{self.members.get(card).salary()-tt.salary()})')
self.members[card]=tt
else:
mm=Manager(self.members.get(card).name,'M',newgrade,self.members.get(card).year,card)
print('降级成功')
print(f'{mm.get_name()},工号:{card},当前职位:{mm.get_job()}{mm.get_grade()},降级后薪资:{mm.salary()}(-{self.members.get(card).salary()-mm.salary()})')
self.members[card]=mm
return 0
if self.members.get(card).get_job()=='T':
if newgrade < 0:
ee=Employee(self.members.get(card).name,'E',10,self.members.get(card).year,card)
print('降级成功')
print(f'{ee.get_name()},工号:{card},当前职位:{ee.get_job()}{ee.get_grade()},降级后薪资:{ee.salary()}(-{self.members.get(card).salary()-ee.salary()})')
self.members[card]=ee
else:
tt=Teamleader(self.members.get(card).name,'T',1,self.members.get(card).year,card)
print('降级成功')
print(f'{tt.get_name()},工号:{card},当前职位:{tt.get_job()}{tt.get_grade()},降级后薪资:{tt.salary()}(-{self.members.get(card).salary()-tt.salary()})')
self.members[card]=tt
return 0
if self.members.get(card).get_job()=='E':
if self.members.get(card).grade==1:
print('您已经是最低等级')
return 0
if newgrade < 1:
ee=Employee(self.members.get(card).name,'E',1,self.members.get(card).year,card)
print('降级成功')
print(f'{ee.get_name()},工号:{card},当前职位:{ee.get_job()}{ee.get_grade()},降级后薪资:{ee.salary()}(-{self.members.get(card).salary()-mm.salary()})')
self.members[card]=ee
else:
ee=Employee(self.members.get(card).name,'E',newgrade,self.members.get(card).year,card)
print('降级成功')
print(f'{ee.get_name()},工号:{card},当前职位:{ee.get_job()}{ee.get_grade()},降级后薪资:{ee.salary()}(-{self.members.get(card).salary()-ee.salary()})')
self.members[card]=ee
return 0
def main():
m = Manage()
m.welcome()
|
|