请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
done
0、不同的类只要函数格式相同即可输出不同效果
1、同一入口实现不同功能
2、可以
3、不知道
4、降低了耦合度
5、不算
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
{:5_90:}
class Staff:
uid = 10000
job_level = {"E": "普通员工", "T": "组长", "M": "经理"}
job_max_grade = {"E": 10, "T": 6, "M": 3}
jobs = {"E": [], "T": [], "M": []}
def __init__(self, name, level, grade, year):
self.name = name
self.level = level
self.grade = grade
self.year = year
self.uid = Staff.uid
Staff.jobs.append(self.uid)
Staff.uid += 1
def get_uid(self):
return self.uid
def get_name(self):
return self.name
def get_level(self):
return self.level
def get_grade(self):
return self.grade
def get_year(self):
return self.year
def salary(self):
if self.level == 'E':
return 3000 + 500 * self.grade + 50 * self.year
elif self.level == 'T':
return 4000 + 800 * self.grade + 100 * self.year
elif self.level == 'M':
return 5000 + 1000 * (self.grade + self.year)
class Manage:
def __init__(self):
self.staffs = {}
def menu(self):
choice = 0
while choice != 5:
if choice == 1:
self.new()
elif choice == 2:
self.select()
elif choice == 3:
self.update()
elif choice == 4:
self.degrade()
choice = input("1.录入;2.查询;3.升级;4.降级;5.退出:")
def new(self):
name = input("姓名:")
level = input("职位(E.普通员工;T.组长;M;经理):")
while level not in Staff.job_max_grade.keys():
print("输入错误,请重新输入:")
level = input("职位(E.普通员工;T.组长;M;经理):")
year = input("工龄:")
grade = input("级别:")
while grade > Staff.job_max_grade:
grade = input(f"该级别最高为{Staff.job_max_grade},请重新输入级别:")
staff = Staff(name, level, grade, year)
self.staffs = staff
print(f"录入成功!姓名是;{staff.name},工号;{staff.get_uid()},薪资;{staff.salary}")
def check(self):
n = input("1.员工查询;2.职位查询;")
while n != 1 and n != 2:
print("输错了,请重新输入:")
n = input("1.员工查询;2.职位查询;")
if n == 1:
uid = int(input("输入工号:"))
if uid not in Staff.jobs:
print("该工号不存在!")
else:
staff = self.staffs
print(f"姓名:{staff.name}\n职位:{staff.level}\n级别:{staff.grade}\n年龄:{staff.year}\n薪资:{staff.salary()}")
elif n == 2:
level = input("职位(E.普通员工;T.组长;M.经理):")
if level not in Staff.job_level:
print("该职位不存在!")
else:
print(f"目前普通员工共有{len()}人")
def update(self):
uid = input("请输入工号:")
staff = self.staffs
print(f"{staff.name},工号;{staff.get_uid()},当前职位:{staff.level + staff.grade},当前薪资;{staff.salary}")
o_salary = staff.salary()
add_grade = int(input("请输入需要增加的级数:"))
new_grade = staff.grade + add_grade
if new_grade > Staff.job_max_grade:
staff.grade = 1
staff.level = staff.level
else:
staff.grade = new_grade
print("升级成功!")
print(f"{staff.name},工号;{staff.get_uid()},升级后职位:{staff.level + staff.grade},升级后薪资;{staff.salary}(+{staff.salary-o_salary})")
def degrade(self):
pass
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
重写和重用
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:len()函数根据操作数的不同,返回的结果性质也不同
第 1 题的答案是:简单
第 2 题的答案是:可以
第 3 题的答案是:如果有一只鸟,它走起路来像鸭子,飞起来像鸭子,叫起来也像鸭子,那这只鸟就能被称为鸭子
第 4 题的答案是:降低了耦合度
第 5 题的答案是:不是
-------- 动动手 --------
请将第 0 题的代码写在下方:class Employee:
x = {}
y = []
uid =10000
T. = 10
E. = 6
M. = 3
T.no. = 0
E.no. = 0
M.no. = 0
def get_uid(self):
return uid
def get_name(self):
return name
def get_year(self):
return year
def get_job(self):
return job
def get_grade(self):
return grade
def salary(self):
if get_job() == "E":
Salary = 3000+500*get_grade()+50*get_year()
E.no. += 1
elif get_job() == "T":
Salary = 4000+800*get_grade()+100*get_year()
T.no. += 1
else:
Salary = 5000+1000*(get_grade()+get_year())
M.no. += 1
def __init__(self):
uid += 1
append(uid)
def up(self,x):
grade += x
if get_job() = "E" and get_grade() > E.:
job = "T"
grade = 1
E.no. -= 1
T.no. += 1
if get_job() = "T" and get_grade() > T.:
job = "M"
grade = 1
T.no. -= 1
M.no. += 1
def down(self,x):
grade -= x
if get_job() = "M" and get_grade() < M.:
job = "E"
grade = E.
M.no. -= 1
T.no. += 1
if get_job() = "E" and get_grade() < E.:
job = "T"
grade = T.
T.no. -= 1
E.no. += 1
def input_(self):
name = input("姓名:")
job = input("职位(E.普通员工;T.组长;M.经理):")
grade = input("级别:")
year = input("工龄:")
print("录入成功!姓名:{name},工号:{uid},薪资:{Salary}")
x =
def output(self,uid):
if uid in y:
print("姓名:{x}\n职位:{x}\n级别:{x}\n工龄:{x}\n薪资:{x}")
else:
print("工号不存在!")
def job_output(self,y):
if str(y) == "E":
print("目前普通员工共有{E.no.}人")
elif str(y) == "T":
print("目前普通员工共有{T.no.}人")
else:
print("目前普通员工共有{M.no.}人")
def main():
sc = Employee()
z = input("1.录入;2.查询;3.升级;4.降级;5.退出:")
if z == 1:
input_()
elif z == 2:
if input("1.员工查询;2.职位查询;") == 1:
output(input("请输入工号:"))
else:
job_output(input("职位(E.普通员工;T.组长;M.经理):"))
elif z == 3:
up(input("请输入需要增加的级数"))
elif z == 4:
down(input("请输入需要减少的级数"))
else:
exit()
main()
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
class staff:
def __init__(self,name:str,job:str,grade:int,year:int,uid:int):
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_grade(self):
return self.grade
def get_year(self):
return self.year
def salaxy(self):
if self.job == "E":
return 3000+500*self.grade+50*self.year
if self.job == "T":
return 4000+800*self.grade+100*self.year
if self.job == "M":
return 5000+1000*(self.grade+self.year)
def gen_uid(start = 10000):
uid = start
while True:
yield uid
uid += 1
staff_lists = []
g_uid = gen_uid()
def main():
while True:
x = int(input("\n1.录入 2.查询 3.升级 4.降级 5.退出: "))
if x == 5:
break
else:
if x == 1:
name = input("姓名:")
job = input("职位(E.普通员工;T.组长;M.经理):")
grade = int(input("级别:"))
year = int(input("工龄:"))
uid = next(g_uid)
staff_lists.append(staff(name,job,grade,year,uid))
salaxy = staff_lists[-1].salaxy()
print(f"录入成功!姓名:{name},工号:{uid},薪资:{salaxy}")
if x == 2:
_ = int(input("1.员工查询 2.职位查询:"))
if _ == 1:
count = 0
_uid = int(input("请输入工号:"))
for each in staff_lists:
if each.uid == _uid:
s = each.salaxy()
print(f"姓名:{each.name}\n职位:{each.job}\n级别:{each.grade}\n工龄:{each.year}\n薪资:{s}")
count += 1
if count == 0:
print("该工号不存在!")
if _ == 2:
count = 0
_list = []
_job = input("职位(E.普通员工;T.组长;M.经理):")
for each in staff_lists:
if each.job == _job:
_list.append(each)
count += 1
if count == 0:
print("目前没有该职位的员工!")
else:
if _job == 'E':
print(f"目前普通员工共有{count}人")
if _job == 'T':
print(f"目前组长共有{count}人")
if _job == 'M':
print(f"目前经理共有{count}人")
for i in _list:
print(i.name," - ",i.uid)
if x == 3:
_uid = int(input("请输入工号:"))
_ = staff_lists
sal_pst = _.salaxy()
print(f"{_.name},工号:{_.uid},当前职位:{_.job}{_.grade},当前薪资:{sal_pst}")
i = int(input("请输入需要增加的级数:"))
if _.job == 'E':
if _.grade+i >10:
_.job = "T"
_.grade = 1
else:
_.grade += i
if _.job == 'T':
if _.grade+i >6:
_.job = "M"
_.grade = 1
else:
_.grade += i
if _.job == 'M':
if _.grade == 3:
print("你满级了哥们~~~")
else:
if _.grade+i>3:
_.grade = 3
else:
_.grade += i
print("升级成功!")
sal_now = _.salaxy()
print(f"{_.name},工号:{_.uid},当前职位:{_.job}{_.grade},当前薪资:{sal_now}",'(+',sal_now-sal_pst,')')
if x == 4:
_uid = int(input("请输入工号:"))
_ = staff_lists
sal_pst = _.salaxy()
print(f"{_.name},工号:{_.uid},当前职位:{_.job}{_.grade},当前薪资:{sal_pst}")
i = int(input("请输入需要降低的级数:"))
if _.job == 'E':
if _.grade-i <= 0:
_.grade = 1
else:
_.grade -= i
if _.job == 'T':
if _.grade-i <= 0:
_.job = "E"
_.grade = 10
else:
_.grade -= i
if _.job == 'M':
if _.grade-i <= 0:
_.job = "T"
_.grade = 6
else:
_.grade -= i
print("降级成功!")
sal_now = _.salaxy()
print(f"{_.name},工号:{_.uid},当前职位:{_.job}{_.grade},当前薪资:{sal_now}",'(-',sal_pst-sal_now,')')
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:定义得不同类之间如果有继承关系,则一个对象就可以同时调用有继承关系得类中的所有方法
第 1 题的答案是:简化了代码
第 2 题的答案是:可以
第 3 题的答案是:如果一只鸟,长得像鸭子,叫声像鸭子,走路像鸭子,那就一定是鸭子
第 4 题的答案是:增强了内聚,但也增强了耦合
第 5 题的答案是:不属于
-------- 动动手 --------
请将第 0 题的代码写在下方:
1
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
不同类型的对象可以通过相同的接口进行操作,即python允许不同类的对象以相同的方式被处理
第 1 题的答案是:
提高代码的灵活性
第 2 题的答案是:
不可以
第 3 题的答案是:
第 4 题的答案是:
增强内聚,降低耦合
第 5 题的答案是:
不是
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
可以
第 3 题的答案是:
第 4 题的答案是:
降低了耦合度
第 5 题的答案是:
...
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
根据传入的数据类型不同,实现不同的结果
第 1 题的答案是:
不同的场景下具有不同的作用效果
第 2 题的答案是:
可以
第 3 题的答案是:
如果它像鸭子,叫声像鸭子,那么它就是鸭子
第 4 题的答案是:
降低耦合度
第 5 题的答案是:
不属于
-------- 动动手 --------
请将第 0 题的代码写在下方:
class Employee:
def __init__(self, name, job, grade, year):
self.name = name
self.job = job
self.grade = grade
self.year = year
self.uid = Employee.next_uid()
uid_counter = 10000
@classmethod
def next_uid(cls):
uid = cls.uid_counter
cls.uid_counter += 1
return uid
def get_uid(self):
return self.uid
def get_name(self):
return self.name
def get_job(self):
return self.job
def get_grade(self):
return self.grade
def get_year(self):
return self.year
def salary(self):
return 0
class RegularEmployee(Employee):
def __init__(self, name, grade, year):
super().__init__(name, "普通员工", grade, year)
def salary(self):
return 3000 + 500 * self.grade + 50 * self.year
class TeamLeader(Employee):
def __init__(self, name, grade, year):
super().__init__(name, "组长", grade, year)
def salary(self):
return 4000 + 800 * self.grade + 100 * self.year
class Manager(Employee):
def __init__(self, name, grade, year):
super().__init__(name, "经理", grade, year)
def salary(self):
return 5000 + 1000 * (self.grade + self.year)
class EmployeeManagementSystem:
def __init__(self):
self.employees = []
print("欢迎使用公司管理系统!")
self.run()
def add_employee(self):
name = input("请输入员工姓名:")
job_type = input("请输入职位(E.普通员工;T.组长;M.经理):")
grade = int(input("请输入级别:"))
year = int(input("请输入工龄:"))
if job_type.upper() == 'E':
new_employee = RegularEmployee(name, grade, year)
elif job_type.upper() == 'T':
new_employee = TeamLeader(name, grade, year)
elif job_type.upper() == 'M':
new_employee = Manager(name, grade, year)
else:
print("无效职务,员工未添加。")
return
self.employees.append(new_employee)
print(f"员工{new_employee.get_name()} 添加成功,工号为{new_employee.get_uid()}。")
def query_employee(self):
uid = int(input("请输入要查询的工号:"))
for emp in self.employees:
if emp.get_uid() == uid:
print(f"姓名:{emp.get_name()},职位:{emp.get_job()},级别:{emp.get_grade()}。")
return
print("未找到该工号的员工。")
def promote_employee(self):
uid = int(input("请输入要升职的员工工号:"))
levels = {"E":10, "T":6, "M":3}
for emp in self.employees:
if emp.get_uid() == uid:
if emp.get_job() == "普通员工" and emp.get_grade() < levels["E"]:
emp.garde += 1
print(f"员工{emp.get_name()} 升级为普通员工{emp.get_grade()}级。")
elif emp.get_job() == "组长" and emp.get_grade() < levels["T"]:
emp.garde += 1
print(f"员工{emp.get_name()} 升级为组长{emp.get_grade()}级。")
elif emp.get_job() == "经理" and emp.get_grade() < levels["M"]:
emp.garde += 1
print(f"员工{emp.get_name()} 升级为经理{emp.get_grade()}级。")
if emp.get_job() == "普通员工" and emp.get_grade() > levels["E"]:
emp.__class__ = TeamLeader
emp.grade = 1
print(f"员工{emp.get_name()}升级为 组长 级别 1 级。")
elif emp.get_job() == "组长" and emp.get_grade() > levels["T"]:
emp.__class__ = Manager
emp.grade = 1
print(f"员工{emp.get_name()}升级为 经理 级别 1 级。")
return
print("未找到该员工的工号。")
def demote_employee(self):
uid = int(input("请输入要降职的员工工号:"))
levels = {"E":10, "T":6, "M":3}
for emp in self.employees:
if emp.get_uid() == uid:
if emp.get_job() == "经理":
emp.__class__ = TeamLeader
emp.grade = levels["T"]
print(f"员工{emp.get_name()} 降职为 组长 级别 {emp.get_grade()}。")
elif emp.get_job() == "组长":
emp.__class__ = RegularEmployee
emp.grade = levels["E"]
print(f"员工{emp.get_name()} 降职为 普通员工 级别 {emp.get_grade()}。")
return
print("未找到该员工的工号。")
def run(self):
while True:
choice = input("1.添加员工;2.查询员工;3.升职员工;4.降职员工;5.退出:")
if choice == "1":
self.add_employee()
elif choice == "2":
self.query_employee()
elif choice == "3":
self.promote_employee()
elif choice == "4":
self.demote_employee()
elif choice == "5":
print("谢谢使用!")
break
else:
print("无效选择,请重新输入。")
def main():
m = EmployeeManagementSystem()
m.run()