|
|
发表于 2025-6-23 17:31:16
|
显示全部楼层
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:class shuxing:
def __init__(self, uid, name, job, grade, year, money):
self.uid = uid
self.name = name
self.job = job
self.grade = grade
self.year = year
self.money = money
class Manage:
def __init__(self):
self.members = []
self.card_number = 10000 # 卡号从10000开始递增
def create_member(self):
name = input("请输入名字: ")
job = input("职位(E.普通员工;T.组长;M:经理) ")
year = int(input("工龄:"))
grade = int(input("级别"))
# 修正级别输入验证时的变量名错误
if job == 'E':
while grade > 10:
grade = int(input("该职位最高级别位10,请重新录入级别:"))
elif job == 'T':
while grade > 6:
grade = int(input("该职位最高级别位6,请重新录入级别:"))
elif job == 'M':
while grade > 3:
grade = int(input("该职位最高级别位3,请重新录入级别:"))
uid = self.card_number
self.card_number += 1
# 根据职位和级别、工龄计算薪资
if job == 'E':
money = 3000 + 500 * grade + 50 * year
elif job == 'T':
money = 4000 + 800 * grade + 100 * year
elif job == 'M':
money = 5000 + 1000 * grade + 1000 * year
# 创建对象
member = shuxing(uid, name, job, grade, year, money)
self.members.append(member)
print(f"录入成功!姓名 {name},工号{uid},薪资:{money}")
def find_member(self, uid):
for member in self.members:
if member.uid == uid:
return member
return None
def yuangongchaxun(self):
uid = int(input("请输入工号: "))
# 查找会员
member = self.find_member(uid)
if not member:
print("该工号不存在!")
return
print(f"姓名:{member.name}")
print(f"职位:{member.job}")
print(f"级别:{member.grade}")
print(f"工龄:{member.year}")
print(f"薪资:{member.money}")
def find_zhiwei(self, job):
result_list = []
for member in self.members:
if member.job == job:
result_list.append(member)
return result_list if result_list else None
def zhiweichaxun(self):
job = input("职位(E.普通员工;T.组长;M.经理):")
# 调用 find_zhiwei 方法根据职位查找
members_list = self.find_zhiwei(job)
if not members_list:
print("该职位没人!")
return
print(f'目前{job}职位共有{len(members_list)}人:')
for member in members_list:
print(member.uid, member.name, sep="-")
def upgrade(self):
uid = int(input("请输入工号: "))
member = self.find_member(uid)
if not member:
print("该工号不存在!")
return
print(f'{member.name},工号{member.uid},当前职位{member.job}{member.grade},当前薪资{member.money}')
x = int(input("请输入需要增加的级数: "))
level_list = ['E1','E2','E3','E4','E5','E6','E7','E8','E9','E10','T1','T2','T3','T4','T5','T6','M1','M2','M3']
current_level = f"{member.job}{member.grade}"
# 处理升级后的职位级别
index = level_list.index(current_level)
new_level = level_list[index + x]
member.job = new_level[0]
member.grade = int(new_level[1])
if member.job == 'E':
new_money = 3000 + 500 * member.grade + 50 * member.year
elif member.job == 'T':
new_money = 4000 + 800 * member.grade + 100 * member.year
elif member.job == 'M':
new_money = 5000 + 1000 * member.grade + 1000 * member.year
money_diff = new_money - member.money
member.money = new_money
print(f"{member.name},工号:{member.uid},升职后的职位{member.job}{member.grade},升职后薪资{member.money}(+{money_diff})")
def downgrade(self):
uid = int(input("请输入工号: "))
member = self.find_member(uid)
if not member:
print("该工号不存在!")
return
print(f'{member.name},工号{member.uid},当前职位{member.job}{member.grade},当前薪资{member.money}')
x = int(input("请输入需要减少的级数: "))
level_list = ['E1','E2','E3','E4','E5','E6','E7','E8','E9','E10','T1','T2','T3','T4','T5','T6','M1','M2','M3']
current_level = f"{member.job}{member.grade}"
index = level_list.index(current_level)
new_level = level_list[index - x]
member.job = new_level[0]
member.grade = int(new_level[1])
if member.job == 'E':
new_money = 3000 + 500 * member.grade + 50 * member.year
elif member.job == 'T':
new_money = 4000 + 800 * member.grade + 100 * member.year
elif member.job == 'M':
new_money = 5000 + 1000 * member.grade + 1000 * member.year
money_diff = member.money - new_money
member.money = new_money
print(f"{member.name},工号:{member.uid},降级后的职位{member.job}{member.grade},降级后薪资{member.money}(-{money_diff})")
# 主程序入口
def main():
manager = Manage()
while True:
choice = input("\n1.录入;2.查询;3.升级;4.降级;5.退出:")
if choice == '1':
manager.create_member()
elif choice == '2':
sub_choice = input('1.员工查询;2.职位查询:')
if sub_choice == '1':
manager.yuangongchaxun()
elif sub_choice == '2':
manager.zhiweichaxun()
elif choice == '3':
manager.upgrade()
elif choice == '4':
manager.downgrade()
elif choice == '5':
print("退出程序")
break
else:
print("无效操作,请重新选择!")
if __name__ == "__main__":
main() |
|