鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[课后作业] 第063讲:类和对象(VI)| 课后测试题及答案

  [复制链接]
发表于 2023-9-16 16:44:39 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-12 21:30:30 | 显示全部楼层
0. 动态
1. 可以动态调动特征
2. 可以
3. When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.
4.降低耦合
5.不是
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-12 11:23:15 | 显示全部楼层
打卡
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-11 16:39:21 | 显示全部楼层
0
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-10 17:21:43 | 显示全部楼层
0 继承
1 不行
2
3
4 降低耦合
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-10 13:34:09 | 显示全部楼层
哈哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-9 18:08:26 | 显示全部楼层
·
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-8 17:32:11 | 显示全部楼层
复习,直接查看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-6 17:53:00 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-5 20:03:37 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-5 14:12:25 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-3 20:03:25 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-3 16:13:30 | 显示全部楼层
0 函数调用
1 重写和指定调用
2 可以
3
4
5 是
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-2 14:16:16 | 显示全部楼层
w
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-8-30 10:00:32 | 显示全部楼层
0. 继承其他类,但在不同场景下实现不同功能
1. 批量生产+自定义,提升类的创建效率
2. 可以
3. 如果像鸭子一样走路,像鸭子一样呱呱叫,那它就是一只鸭子
4. 降低耦合度
5. 不是
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-28 10:51:34 | 显示全部楼层
11
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-8-27 09:38:13 | 显示全部楼层
0.
类继承的多态:即可以通过继承的方法,在子类中更改父类的方法从而实现多态,也可以自定义函数的多态。

1.
可以使用同一个函数从而实现不同的效果

2.
可以,一个是算数运算,一个是字符串拼接

3.
如果我看到一只鸟,它长得像鸭子,走路游泳也像鸭子,那么我认为他就是鸭子

4.
增强了内聚

5.
不属于
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-26 19:11:40 | 显示全部楼层
btbt



no

no

di

no
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-25 19:52:33 | 显示全部楼层
  1. class Personnel:
  2.     def __init__(self,name,job,grade,year,uid):
  3.         self.name = name
  4.         self.job = job
  5.         self.grade = int(grade)
  6.         self.year = int(year)
  7.         self.uid = uid
  8.         self.wage = 0
  9.         
  10.     def get_uid(self):
  11.         return self.uid

  12.     def get_name(self):
  13.         return self.name

  14.     def get_job(self):
  15.         return self.job

  16.     def get_grade(self):
  17.         return self.grade

  18.     def salary(self):
  19.         if self.job == 'E':
  20.             self.wage = 3000 + 500 * self.grade + 50 * self.year
  21.         elif self.job == 'T':
  22.             self.wage = 4000 + 800 * self.grade + 100 * self.year
  23.         elif self.job == 'M':
  24.             self.wage = 5000 + 1000 * (self.grade + self.year)
  25.         return self.wage

  26.     def adj_grade(self):
  27.         if self.job == 'E':
  28.             if self.grade > 10:
  29.                 self.job = 'T'
  30.                 self.grade = 1
  31.             elif self.grade < 1:
  32.                 sele.grade = 1
  33.         elif self.job == 'T':
  34.             if self.grade < 1:
  35.                 self.job = 'E'
  36.                 self.grade = 10
  37.             elif self.grade > 6:
  38.                 self.job = 'M'
  39.                 self.grade = 1
  40.         elif self.job == 'M':
  41.             if self.grade < 1:
  42.                 self.job = 'T'
  43.                 self.grade = 6
  44.             elif self.grade > 3:
  45.                 self.grade = 3
  46.                
  47. class Manage:
  48.     def __init__(self):
  49.         self.personnel = {}
  50.         self.E = []
  51.         self.T = []
  52.         self.M = []
  53.         self.uid = 10000

  54.     def use(self):
  55.         ins = input('1.录入;2.查询;3.升级;4.降级;5.退出:')
  56.         while ins != '5':
  57.             if ins == '1':
  58.                 self.add_people()
  59.             if ins == '2':
  60.                 self.check()
  61.             if ins == '3':
  62.                 self.upgrade()
  63.             if ins == '4':
  64.                 self.demote()
  65.             ins = input('\n1.录入;2.查询;3.升级;4.降级;5.退出:')


  66.     def add_people(self):
  67.         name = input('姓名:')
  68.         job = input('职位(E.普通员工;T.组长;M.经理):')
  69.         year = input('工龄:')
  70.         grade = input('级别:')
  71.         p = Personnel(name,job,grade,year,self.uid)
  72.         self.personnel[self.uid] = p
  73.         if job == 'E':
  74.             self.E.append((str(self.uid),name))
  75.         if job == 'T':
  76.             self.T.append((str(self.uid),name))
  77.         if job == 'M':
  78.             self.M.append((str(self.uid),name))
  79.         print(f'录入成功!姓名:{name},工号:{self.uid},薪资:{p.salary()}')
  80.         self.uid += 1

  81.     def check(self):
  82.         op = input('1.员工查询;2.职位查询:')
  83.         if op == '1':
  84.             uid = int(input('请输入工号:'))
  85.             if uid not in self.personnel:
  86.                 print('该工号不存在!')
  87.             else:
  88.                 p = self.personnel[uid]
  89.                 print('姓名:',p.name)
  90.                 print('职位:',p.job)
  91.                 print('级别:',p.grade)
  92.                 print('工龄:',p.year)
  93.                 print('薪资:',p.wage)
  94.         if op == '2':
  95.             grade = input('职位(E.普通员工;T.组长;M.经理):')
  96.             if grade == 'E':
  97.                 if self.E:
  98.                     print(f'目前普通员工共有{len(self.E)}人')
  99.                     for each in self.E:
  100.                         print(' - '.join(each))
  101.                 else:
  102.                     print('目前公司没有普通员工!')
  103.             if grade == 'T':
  104.                 if self.T:
  105.                     print(f'目前组长共有{len(self.T)}人')
  106.                     for each in self.T:
  107.                         print(' - '.join(each))
  108.                 else:
  109.                     print('目前公司没有组长!')
  110.             if grade == 'M':
  111.                 if self.M:
  112.                     print(f'目前普通员工共有{len(self.M)}人')
  113.                     for each in self.M:
  114.                         print(' - '.join(each))
  115.                 else:
  116.                     print('目前公司没有普通员工!')

  117.     def upgrade(self):
  118.         uid = int(input('请输入工号:'))
  119.         if self.personnel.get(uid):
  120.             person = self.personnel[uid]
  121.             old_wage = person.wage
  122.             print(f'{person.name},工号:{uid},当前职位:{person.job}{person.grade},当前薪资:{person.wage}')
  123.             num = int(input('请输入需要增加的级数:'))
  124.             person.grade += num
  125.             person.adj_grade()
  126.             person.salary()
  127.             print('升级成功!')
  128.             new_wage = person.wage
  129.             adjust = new_wage - old_wage
  130.             print(f'{person.name},工号:{uid},升级后职位:{person.job}{person.grade},升级后薪资:{new_wage}({adjust:+})')
  131.         else:
  132.             print('该工号不存在')

  133.     def demote(self):
  134.         uid = int(input('请输入工号:'))
  135.         if self.personnel.get(uid):
  136.             person = self.personnel[uid]
  137.             old_wage = person.wage
  138.             print(f'{person.name},工号:{uid},当前职位:{person.job}{person.grade},当前薪资:{person.wage}')
  139.             num = int(input('请输入需要减少的级数:'))
  140.             person.grade -= num
  141.             person.adj_grade()
  142.             person.salary()
  143.             print('降级成功!')
  144.             new_wage = person.wage
  145.             adjust = new_wage - old_wage
  146.             print(f'{person.name},工号:{uid},降级后职位:{person.job}{person.grade},降级后薪资:{new_wage}({adjust:+})')
  147.         else:
  148.             print('该工号不存在')

  149. def main():
  150.     m = Manage()
  151.     m.use()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-25 14:51:14 | 显示全部楼层
查看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-9-19 10:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表