请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:不同的对象可以实现对父类方法的重写
第 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 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
1
请回复您的答案^_^
-------- 问答题 --------
第 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
member.job = new_level
member.grade = int(new_level)
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
member.job = new_level
member.grade = int(new_level)
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()
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
本帖最后由 Gyoushinn 于 2025-6-20 10:55 编辑
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
同一个函数,作用在不同类型的对象上,结果不同
第 1 题的答案是:
只需要新增类,无需修改原代码
第 2 题的答案是:
可以
第 3 题的答案是:
如果它走路像鸭子,叫声像鸭子,那么它就是鸭子
第 4 题的答案是:
降低了耦合
第 5 题的答案是:
属于
-------- 动动手 --------
请将第 0 题的代码写在下方:
def get_uid():
global uid
uid += 1
return uid
def get_name():
name = input('姓名:')
while True:
if name:
return name
else:
name = input("姓名不能为空,请重新输入姓名:")
def get_job():
job = input('职位(【E.普通员工】【T.组长】【M.经理】:')
while True:
if job == 'E' or job == 'T' or job == 'M':
return job
else:
job = input("职位不存在,请重新输入:")
def get_year():
year = input("工龄:")
while True:
if year.isdecimal() and int(year) < 60:
return int(year)
else:
year = input("请输入正确工龄:")
def judge_job(job):
if job == 'E':
return "普通员工"
elif job == 'T':
return "组长"
elif job == 'M':
return "经理"
def get_grade(job):
grade = input("级别:")
while True:
if judge_job(job) == '普通员工' and 0 <= int(grade) <= 10:
return int(grade)
elif judge_job(job) == '组长' and 0 <= int(grade) <= 6:
return int(grade)
elif judge_job(job) == '经理' and 0 <= int(grade) <= 3:
return int(grade)
else:
grade = input("级别不正确,请输入正确级别:")
def salary(job, grade, year):
if job == "E":
return 3000 + (500 * grade) + (50 * year)
elif job == 'T':
return 4000 + (800 * grade) + (100 * year)
elif job == 'M':
return 5000 + 1000 * (grade + year)
class A():
def __init__(self):
self.uid = get_uid()
self.name = get_name()
self.job = get_job()
self.year = get_year()
self.grade = get_grade(self.job)
self.salary = salary(self.job, self.grade, self.year)
d =
print(f'录入成功!姓名{self.name},工号{self.uid},薪资{self.salary}')
def get1():
user_get_uid = int(input("请输入工号:"))
if judge(user_get_uid):
print(f"姓名:{d}")
print(f"职位:{d}")
print(f"级别:{d}")
print(f"工龄:{d}")
print(f"薪资:{d}")
def judge(uid):
if uid in d.keys():
return True
else:
print("该工号不存在!")
def get2():
input_job = get_job()
job = judge_job(input_job)
result = ]
if result:
print(f'目前{job}共有 {len(result)} 人:')
for i in result:
print(f'{i} - {i}')
else:
print(f"目前该公司没有{job}!")
def levelup():
user_get_uid = int(input("请输入工号:"))
if judge(user_get_uid):
old_salary = d
print(f'{d},工号:{d},当前职位:{judge_job(d)}{d},当前薪资:{old_salary}')
level = int(input("请输入要增加的级数:"))
judge_grade_up(user_get_uid,level)
new_salary = salary(d, d, d)
print(f'升级成功!')
print(f'{d},',end="")
print(f'工号:{d},',end="")
print(f'升级后职位:{judge_job(d)}{d},',end="")
print(f'升级后薪资{new_salary}(+{new_salary-d})')
d = new_salary
def judge_grade_up(user_get_uid,level):
grade = d
job = d
if job == "E":
if grade + level >= 10:
d = 'T'
d = grade + level - 10
else:
d = grade + level
if job == "T":
if grade + level >= 6:
d = 'M'
d = grade + level - 6
else:
d = grade + level
if job == "M":
d = grade + level
def leveldown():
user_get_uid = int(input("请输入工号:"))
if judge(user_get_uid):
print(f'{d},工号:{d},当前职位:{judge_job(d)}{d},当前薪资:{old_salary}')
level = int(input("请输入要减少的级数:"))
old_salary = d
judge_grade_down(user_get_uid,level)
new_salary = salary(d, d, d)
print(f'降级成功!')
print(f'{d},',end="")
print(f'工号:{d},',end="")
print(f'降级后职位:{judge_job(d)}{d},',end="")
print(f'降级后薪资{new_salary}(-{old_salary-new_salary})')
def judge_grade_down(user_get_uid,level):
grade = d
job = d
if job == "E":
if grade - level < 0:
d = 0
if job == "T":
if grade - level < 0:
d = 'E'
d = grade - level + 10
else:
d = grade - level
if job == "M":
if grade - level < 0:
d = 'T'
d = grade - level + 6
else:
d = grade - level
def main():
while True:
user_input = input("1.录入;2.查询;3.升级;4.降级;5.退出:")
if user_input == '1':
employee= A()
if user_input == '2':
while True:
user_input2 = input("1.员工查询;2.职位查询:")
if user_input2 == "1":
get1()
break
elif user_input2 == '2':
get2()
break
else:
user_input2 = input("请输入1或2进行查询:")
if user_input == '3':
levelup()
if user_input == '4':
leveldown()
if user_input == '5':
break
d = {}
uid = 10000
main()
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:对不同的对象使用不同的方法
第 1 题的答案是:不用重复定义方法
第 2 题的答案是:可以
第 3 题的答案是:不知道
第 4 题的答案是:不知道什么是鸭子类型
第 5 题的答案是:不属于
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:指同一个运算符、函数或对象在不同的场景下,具有不同的作用效果,这么一个技能
第 1 题的答案是:動態的"見機行事"
第 2 题的答案是:可以,同一個咚惴鶕搬嵛牟煌l揮出不同作用,這就是多態
第 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 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:1
本帖最后由 阿归 于 2025-6-6 14:21 编辑
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:传入不同对象,输出结果不同?
第 1 题的答案是:灵活性,扩展性?
第 2 题的答案是:可以
第 3 题的答案是:??
第 4 题的答案是:降低耦合度
第 5 题的答案是:不属于❌
-------- 动动手 --------
请将第 0 题的代码写在下方:
class EmpInfo:
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_grade(self):
return self.grade
def get_year(self):
return self.year
def salary(self):
if self.job == 'E':
s = 3000+500*self.grade+50*self.year
elif self.job == 'T':
s = 4000+800*self.grade+100*self.year
elif self.job == 'M':
s = 5000+1000*(self.grade+self.year)
return s
class ProFunc:
emps={}
uid = 10000
job_dict = dict(E='普通员工',T='组长',M='经理')
grade_dict = dict(E=10,T=6,M=3)
level = 'ETM'
#录入功能
def creat_emp(self):
name = input('姓名:')
job = input('职位(E.普通员工;T.组长;M.经理):')
year = int(input('工龄:'))
grade = int(input('级别:'))
self.emps = EmpInfo(name,job,grade,year,self.uid)
print(f'录入成功!姓名:{name},工号:{self.uid},薪资:{self.emps.salary()}')
self.uid += 1
#查询功能
def search_info(self):
op_s = input('1.员工查询;2.职位查询:')
if op_s == '1':
uid = int(input('请输入工号:'))
if uid in self.emps:
e = self.emps
print('姓名:{}\n职位:{}\n级别:{}\n工龄:{}\n薪资{}'.\
format(e.get_name(),e.get_job(),e.get_grade(),
e.get_year(),e.salary()))
else:
print('该工号不存在!')
else:
_job = input('职位(E.普通员工;T.组长;M.经理):')
ls = ''
for i in self.emps.values():
if i.job == _job:
ls += f'{i.uid}-{i.name} '
print(f'目前{self.job_dict}共有{len(ls)}人:\n{ls}')
#员工升级
def grade_up(self):
uid = int(input('请输入工号:'))
if uid in self.emps:
e = self.emps
print(f'{e.name},工号:{e.uid},当前职位:{e.job}{e.grade},当前薪资:{e.salary()}')
n = int(input('请输入需要增加的级数:'))
if e.grade+n > self.grade_dict:
if self.level.find(e.job) == 2:
self.emps.grade = self.grade_dict
self.emps.job = e.job
print('已经是最高级别')
else:
self.emps.grade = 1
self.emps.job = self.level['ETM'.find(e.job)+1]
else:
self.emps.grade = e.grade+n
print(f'{e.name},工号:{e.uid},升级后职位:{e.job}{e.grade},升级后薪资:{e.salary()}')
else:
print('该工号不存在!')
#员工降级
def grade_down(self):
uid = int(input('请输入工号:'))
if uid in self.emps:
e = self.emps
print(f'{e.name},工号:{e.uid},当前职位:{e.job}{e.grade},当前薪资:{e.salary()}')
n = int(input('请输入需要减少的级数:'))
if e.grade-n <= 0:
if self.level.find(e.job) == 0:
self.emps.grade = 1
print('已经是最低级别')
else:
self.emps.job = self.level['ETM'.find(e.job)-1]
self.emps.grade = self.grade_dict
else:
self.emps.grade = e.grade-n
print(f'{e.name},工号:{e.uid},降级后职位:{e.job}{e.grade},降级后薪资:{e.salary()}')
else:
print('该工号不存在!')
#主菜单功能
def menu(self):
op = input('1.录入;2.查询;3.升级;4.降级;5.退出:')
while op != '5':
if op == '1':
self.creat_emp()
elif op == '2':
self.search_info()
elif op == '3':
self.grade_up()
elif op == '4':
self.grade_down()
op = input('1.录入;2.查询;3.升级;4.降级;5.退出:')
print('结束程序')
def main():
e = ProFunc()
e.menu()
main()