|
|
发表于 2024-8-7 16:21:08
|
显示全部楼层
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
是
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
嗯
-------- 动动手 --------
请将第 0 题的代码写在下方:
class Method:
def employee(self,grade,year):
self.pay1 = 3000 + 500 * grade + 50* year
def teamleader(self,grade,year):
self.pay2 = 4000 + 800 * grade + 100* year
def manager(self,grade,year):
self.pay3 = 5000 + 1000 * (grade + year)
class Get:
count = 0
def get_uid(self):
self.uid = 10000 + self.count
self.count += 1
def get_name(self):
self.name = input('姓名:')
def get_job(self):
self.job = input('职位(E.普通员工;T.组长;M.经理):')
def get_year(self):
self.year = int(input('工龄:'))
def get_grade(self):
self.grade = int(input('级别:'))
if self.job == 'E':
while self.grade < 0 or self.grade > 10:
self.grade = int(input('该职位最低级别为1,最高级别为10,请重新录入级别:'))
elif self.job == 'T':
while self.grade < 0 or self.grade > 6:
self.grade = int(input('该职位最低级别为1,最高级别为6,请重新录入级别:'))
elif self.job == 'M':
while self.grade < 0 or self.grade > 3:
self.grade = int(input('该职位最低级别为1,最高级别为3,请重新录入级别:'))
def get_salary(self,pay):
self.salary = pay
class Function(Get,Method):
player = {}
def enroll(self):
super().get_name()
super().get_job()
super().get_year()
super().get_grade()
super().get_uid()
if self.job == 'E':
super().employee(self.grade,self.year)
super().get_salary(self.pay1)
elif self.job == 'T':
super().teamleader(self.grade,self.year)
super().get_salary(self.pay2)
elif self.job == 'M':
super().manager(self.grade,self.year)
super().get_salary(self.pay3)
self.player[self.uid] = [self.name,self.job,self.year,self.grade,self.salary]
print('录入成功!姓名:',self.name,'工号:',self.uid,'薪资:',self.salary)
def inquiry(self):
self.choice = int(input('1.员工查询;2.职位查询:'))
if self.choice == 1:
self.inquiry_uid = int(input('请输入工号:'))
if self.inquiry_uid in self.player:
print('姓名:',self.player[self.inquiry_uid][0])
print('职位:',self.player[self.inquiry_uid][1])
print('级别:',self.player[self.inquiry_uid][3])
print('工龄:',self.player[self.inquiry_uid][2])
print('薪资:',self.player[self.inquiry_uid][4])
else:
print('该工号不存在!')
elif self.choice == 2:
self.k = 0
self.ku = []
self.inquiry_job = input('职位(E.普通员工;T.组长;M.经理):')
for i in self.player:
if self.inquiry_job in self.player[i]:
self.ku.append(f'{i} - {self.player[i][0]}')
self.k += 1
if self.inquiry_job == 'E':
print('目前普通员工共有',self.k,'人')
elif self.inquiry_job == 'T':
print('目前组长共有',self.k,'人')
elif self.inquiry_job == 'M':
print('目前经理共有',self.k,'人')
if self.k != 0:
for z in self.ku:
print(z)
else:
self.cun = {'E':'普通员工','T':'组长','M':'经理'}
print('目前公司没有',self.cun[self.inquiry_job],'!',sep = '')
def upgrade(self):
self.upgrade_uid = int(input('请输入工号:'))
if self.upgrade_uid in self.player:
print(self.player[self.upgrade_uid][0],'工号:',self.upgrade_uid,'当前职位:',self.player[self.upgrade_uid][1]+str(self.player[self.upgrade_uid][3]),'当前薪资:',self.player[self.upgrade_uid][4])
self.up_grade = int(input('请输入需要增加的级数:'))
if self.player[self.upgrade_uid][1] == 'E':
if self.player[self.upgrade_uid][3] + self.up_grade > 10:
self.player[self.upgrade_uid][1] = 'T'
self.player[self.upgrade_uid][3] = 1
super().teamleader(1,self.player[self.upgrade_uid][2])
self.price_difference = self.pay2 - self.player[self.upgrade_uid][4]
self.player[self.upgrade_uid][4] = self.pay2
print('升级成功!')
else:
self.player[self.upgrade_uid][3] = self.player[self.upgrade_uid][3] + self.up_grade
super().employee(self.player[self.upgrade_uid][3],self.player[self.upgrade_uid][2])
self.price_difference = self.pay1 - self.player[self.upgrade_uid][4]
self.player[self.upgrade_uid][4] = self.pay1
print('升级成功!')
elif self.player[self.upgrade_uid][1] == 'T':
if self.player[self.upgrade_uid][3] + self.up_grade > 6:
self.player[self.upgrade_uid][1] = 'M'
self.player[self.upgrade_uid][3] = 1
super().manager(1,self.player[self.upgrade_uid][2])
self.price_difference = self.pay3 - self.player[self.upgrade_uid][4]
self.player[self.upgrade_uid][4] = self.pay3
print('升级成功!')
else:
self.player[self.upgrade_uid][3] = self.player[self.upgrade_uid][3] + self.up_grade
super().teamleader(self.player[self.upgrade_uid][3],self.player[self.upgrade_uid][2])
self.price_difference = self.pay2 - self.player[self.upgrade_uid][4]
self.player[self.upgrade_uid][4] = self.pay2
print('升级成功!')
elif self.player[self.upgrade_uid][1] == 'M':
if self.player[self.upgrade_uid][3] + self.up_grade <= 3:
self.player[self.upgrade_uid][3] = self.player[self.upgrade_uid][3] + self.up_grade
super().manager(self.player[self.upgrade_uid][3],self.player[self.upgrade_uid][2])
self.price_difference = self.pay3 - self.player[self.upgrade_uid][4]
self.player[self.upgrade_uid][4] = self.pay3
print('升级成功!')
else:
print('当前已达最高级别,无法进行升级!')
super().manager(self.player[self.upgrade_uid][3],self.player[self.upgrade_uid][2])
self.price_difference = self.pay3 - self.player[self.upgrade_uid][4]
self.player[self.upgrade_uid][4] = self.pay3
print(self.player[self.upgrade_uid][0],'工号:',self.upgrade_uid,'升级后职位:',self.player[self.upgrade_uid][1]+str(self.player[self.upgrade_uid][3]),'升级后薪资:',self.player[self.upgrade_uid][4],f'(+{self.price_difference})')
else:
print('该工号不存在!')
def degrade(self):
self.degrade_uid = int(input('请输入工号:'))
if self.degrade_uid in self.player:
print(self.player[self.degrade_uid][0],'工号:',self.degrade_uid,'当前职位:',self.player[self.degrade_uid][1]+str(self.player[self.degrade_uid][3]),'当前薪资:',self.player[self.degrade_uid][4])
self.de_grade = int(input('请输入需要减少的级数:'))
if self.player[self.degrade_uid][1] == 'E':
if self.de_grade < self.player[self.degrade_uid][3]:
self.player[self.degrade_uid][3] = self.player[self.degrade_uid][3] - self.de_grade
super().employee(self.player[self.degrade_uid][3],self.player[self.degrade_uid][2])
self.price_difference = self.player[self.degrade_uid][4] - self.pay1
self.player[self.degrade_uid][4] = self.pay1
print('降级成功!')
else:
print('降级失败,超出级别范围!')
elif self.player[self.degrade_uid][1] == 'T':
if self.de_grade < self.player[self.degrade_uid][3]:
self.player[self.degrade_uid][3] = self.player[self.degrade_uid][3] - self.de_grade
super().teamleader(self.player[self.degrade_uid][3],self.player[self.degrade_uid][2])
self.price_difference = self.player[self.degrade_uid][4] - self.pay2
self.player[self.degrade_uid][4] = self.pay2
print('降级成功!')
else:
self.player[self.degrade_uid][1] = 'E'
self.player[self.degrade_uid][3] = 10
super().employee(self.player[self.degrade_uid][3],self.player[self.degrade_uid][2])
self.price_difference = self.player[self.degrade_uid][4] - self.pay1
self.player[self.degrade_uid][4] = self.pay1
print('降级成功!')
elif self.player[self.degrade_uid][1] == 'M':
if self.de_grade < self.player[self.degrade_uid][3]:
self.player[self.degrade_uid][3] = self.player[self.degrade_uid][3] - self.de_grade
super().manager(self.player[self.degrade_uid][3],self.player[self.degrade_uid][2])
self.price_difference = self.player[self.degrade_uid][4] - self.pay3
self.player[self.degrade_uid][4] = self.pay3
print('降级成功!')
else:
self.player[self.degrade_uid][1] = 'T'
self.player[self.degrade_uid][3] = 6
super().teamleader(self.player[self.degrade_uid][3],self.player[self.degrade_uid][2])
self.price_difference = self.player[self.degrade_uid][4] - self.pay2
self.player[self.degrade_uid][4] = self.pay2
print('降级成功!')
print(self.player[self.degrade_uid][0],'工号:',self.degrade_uid,'降级后职位:',self.player[self.degrade_uid][1]+str(self.player[self.degrade_uid][3]),'降级后薪资:',self.player[self.degrade_uid][4],f'(-{self.price_difference})')
else:
print('该工号不存在!')
def main():
c = Function()
while True:
print()
temp = input('1.录入;2.查询;3.升级;4.降级;5.退出:')
if temp == '1':
c.enroll()
elif temp == '2':
c.inquiry()
elif temp == '3':
c.upgrade()
elif temp == '4':
c.degrade()
else:
break
main()
|
|