1请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
比如一些运算符,+, 函数,len(), 还有类的继承多态等
第 1 题的答案是:
见机行事
第 2 题的答案是:
可以,第一个是运算符,加号,第二个是字符串拼接功能
第 3 题的答案是:
When l see a bird that walks like a duck and swims like a duck and quacks like a duck, l call that bird a duck.
第 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 题的答案是:KEYI
第 3 题的答案是:如果它走起来像鸭子,叫起来也像鸭子,那它就是鸭子。”
第 4 题的答案是:减弱内聚 增强耦合
第 5 题的答案是:不算吧
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------cdcs
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
Python 通过 “鸭子类型”(Duck Typing) 和 方法重写(Override) 来体现面向对象的多态(Polymorphism) 特性。
第 1 题的答案是:
提升代码的灵活性、可维护性和可扩展性
第 2 题的答案是:
我觉得可以
第 3 题的答案是:
如果它走起来像鸭子,叫起来也像鸭子,那它就是鸭子。
第 4 题的答案是:
降低耦合度,及模块间的依赖关系
第 5 题的答案是:
不是!没有面对对象
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
class Users:
def __init__(self,name,uid,job,grade,year,salary):
self.name = name
self.uid = uid
self.salary = salary
self.job = job
self.grade = grade
self.year = year
class Manager():
def __init__(self):
self.users = []
self.uid = 10000
def get_uid(self):
return self.uid + 1
def get_name(self):
self.name = input('姓名:')
while True:
if self.name == '':
self.name = input('姓名:')
continue
else:
break
return self.name
def get_job(self):
self.job = input('职位(E.普通员工;T:组长;M:经理):').upper()
while True:
if self.job == '':
self.job = input('职位(E.普通员工;T:组长;M:经理):').upper()
continue
else:
break
return self.job
def get_grade(self):
self.grade = input('级别:')
while True:
if self.grade == '':
self.grade = input('级别:')
continue
else:
break
return int(self.grade)
def get_year(self):
self.year = input('工龄:')
while True:
if self.year == '':
self.year = input('工龄:')
continue
else:
break
return self.year
def welcome(self):
while True:
choices = input('1、录入;2、查询;3、升级;4降级;5、退出:')
if choices == '1':
self.register_user()
print(f'user信息{self.users}')
continue
if choices == '2':
self.view_info()
continue
if choices == '3':
self.up_job()
continue
if choices == '4':
self.down_job()
continue
if choices == '5':
return
else:
print('===输入错误。请重新输入===')
def salary(self, job, grade, year):
if job == 'E':
salary1 = 3000 + 500 * int(grade) + 50 * int(year)
if job == 'T':
salary1 = 4000 + 800 * int(grade) + 100 * int(year)
if job == 'M':
salary1 = 5000 + 1000 * ( int(grade) + int(year) )
return salary1
def register_user(self):
while True:
username = self.get_name()
job = self.get_job()
year = self.get_year()
grade = self.get_grade()
if job == 'E':
while True:
if grade >10 or grade <1:
print('员工级别最低为1,最高为10!')
grade = self.get_grade()
continue
else:
break
if job == 'T':
while True:
if grade >6 or grade <1:
print('组长级别最低为1,最高为6!')
grade = self.get_grade()
continue
else:
break
if job == 'M':
while True:
if grade >3 or grade <1:
print('经理级别最低为1,最高为3!')
grade = self.get_grade()
continue
else:
break
calculate_salary = self.salary(job, grade, year)
usersinfor = Users(username,self.uid,job,grade,year,calculate_salary)
self.users.append(usersinfor)
print(f'录入成功!姓名:{username},工号:{self.uid},薪资{calculate_salary}')
self.uid= self.get_uid()
return self.users
def view_info(self):
while True:
v = input ('1、员工查询;2、职位查询:')
if v == '1':
uid=input ('请输入员工工号:')
for each in self.users:
if each.uid == int(uid):
print(f'姓名:{each.name}\n职位:{each.job}\n级别:{each.grade}\n工龄:{each.year}\n薪资:{each.salary}\n')
break
else:
continue
else:
print('查无此人!!')
break
elif v == '2':
count = 0
temp = {}
job = input('职位(E.普通员工;T:组长;M:经理):').upper()
for each in self.users:
if each.job == job:
count += 1
temp = each.name
continue
# t = list(map('-'.join,temp.items()))
if job == 'E' and count != 0:
print(f'目前普通员工一共有:{count}人:\n{temp}')
elif job == 'T'and count != 0:
print(f'目前组长一共有:{count}人:\n{temp}')
elif job == 'M'and count != 0:
print(f'目前经理一共有:{count}人:\n{temp}')
else:
print('此职位暂无人员!!')
break
else:
print('输入指令不正确!')
break
def up_job(self):
uid = int(input('请输入员工工号:'))
for each in self.users:
if each.uid == uid:
name = each.name
uid = each.uid
job = each.job + str(each.grade)
salary = each.salary
print(f'{name},工号:{uid},当前职位:{job},当前薪资:{salary}\n')
temp_grade = input('请输入需要增加的级数:')
new_grade = int(temp_grade) + each.grade
if each.job == 'E':
if new_grade > 10 :
each.job = 'T'
new_grade = 1
elif each.job == 'T':
if new_grade > 6 :
each.job = 'M'
new_grade = 1
elif each.job == 'M':
if new_grade > 3 :
each.job = 'M'
new_grade = 3
print('经理级别最高为3!')
new_job = each.job + str(new_grade)
each.grade = new_grade
each.job = each.job
new_salary = self.salary(each.job, each.grade, each.year)
chasalary = new_salary - each.salary
each.salary = new_salary
print('升级成功!')
print(f'{name},工号:{uid},当前职位:{new_job},当前薪资:{new_salary}(+{chasalary})\n')
return
def down_job(self):
uid = int(input('请输入员工工号:'))
for each in self.users:
if each.uid == uid:
name = each.name
uid = each.uid
job = each.job + str(each.grade)
salary = each.salary
print(f'{name},工号:{uid},当前职位:{job},当前薪资:{salary}\n')
temp_grade = input('请输入需要减少的级数:')
new_grade = each.grade - int(temp_grade)
if each.job == 'E':
if new_grade < 0 :
print('普通理级别最低为1!')
each.job = 'E'
new_grade = 1
elif each.job == 'T':
if new_grade < 1 :
each.job = 'E'
new_grade = 10
elif each.job == 'M':
if new_grade < 1 :
each.job = 'T'
new_grade = 6
new_job = each.job + str(new_grade)
each.grade = new_grade
each.job = each.job
new_salary = self.salary(each.job, each.grade, each.year)
chasalary=each.salary -new_salary
each.salary = new_salary
print('降级成功!')
print(f'{name},工号:{uid},当前职位:{new_job},当前薪资:{new_salary}(-{chasalary})\n')
return
def main():
m = Manager()
m.welcome()
main()
看不到老师发的功能实现。。。。没法往下写了
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:111
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
H请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:
第 1 题的答案是:
第 2 题的答案是:
第 3 题的答案是:
第 4 题的答案是:
第 5 题的答案是:
-------- 动动手 --------
请将第 0 题的代码写在下方:
问答6
0. 针对不同对象,会有不同的作用效果
1. 即便使用者传入了不同的参数,还是能得到合适的结果
2. 是的
3. 不知道
4. 增加了耦合度吧?
5. 不是吧,还是实现了求和的作用
本帖最后由 hbirthday 于 2025-12-18 17:15 编辑
请回复您的答案^_^
-------- 问答题 --------
第 0 题的答案是:比如同样是len()函数,面对字符串,列表,字典的返回值方法是不一样的。
答案:多态在编程中是一个非常重要的概念,它是指同一个运算符、函数或对象在不同的场景下,具有不同的作用效果。
a. 比如加号运算符(+),当左右两边是数字的时候,它执行的是算术运算;当操作数变成字符串的时候,它执行的又是拼接操作,这是属于运算符的多态体现。
b. 再比如 len() 函数,它的功能是获取一个对象的长度:
第 1 题的答案是:不知道。
答案:提高代码的灵活性。
第 2 题的答案是:可以。
加号运算符对不同的数据类型执行了不同的操作,是 Python 中最简单的多态现象之一。
第 3 题的答案是:不知道。
答案:当看到一个鸟走起路来像鸭子、游起泳来像鸭子、叫起来也像鸭子,嘎嘎嘎的,那么这个鸟我们就可以把它称之为鸭子。
第 4 题的答案是:听不懂。
答案:降低了耦合度。
鸭子类型体现在接口的宽容度上(我们不需要关心对象具体是什么类型,只在乎它的行为方法是否符合要求即可)。
第 5 题的答案是:不是
答案:是的,这是属于自定义函数层面的多态现象。
-------- 动动手 --------
请将第 0 题的代码写在下方: