鱼C论坛

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

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

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2023-10-10 09:27:50 | 显示全部楼层
111
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-7 15:59:46 | 显示全部楼层
答案
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-5 15:06:30 | 显示全部楼层
no
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-4 19:34:20 | 显示全部楼层
0.重写
1.
2.可以
3.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-4 13:00:28 | 显示全部楼层
wew
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-4 08:33:19 | 显示全部楼层
11
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-10-3 18:41:44 | 显示全部楼层
问答题:
0. 通过在类外定义使用类方法的函数。
1. 相同的函数,但可以面向不同的对象输出不同的结果。
2. 可以
3.
4. 降低耦合
5. 不属于
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-30 15:09:50 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-9-30 13:53:53 | 显示全部楼层
0,  同一个函数在面对不同类型的对象能体现出相似但不同的功能
1,  我认为主要是提高代码的简洁性,降低学习的难度
2.  可以
3.  
4.  我认为是增强了内聚
5.  不是,他只不过是利用了函数的基本特性


0.  就这样吧
  1. class PubInfoMixin:  # 公共信息库
  2.     uid = 10000
  3.     pi_dict = {}


  4. class Employee(PubInfoMixin):  # 普通员工类
  5.    
  6.     iic = 0  #类的实例化次数

  7.     def __init__(self, name, job, grade, year, uid):
  8.         self.name = name
  9.         self.job = job
  10.         self.grade = grade
  11.         self.year = year
  12.         self.uid = uid
  13.         Employee.iic += 1
  14.    
  15.     def __del__(self):
  16.         Employee.iic -= 1
  17.         

  18.     def get_uid(self):
  19.         return self.uid
  20.    
  21.     def get_name(self):
  22.         return self.name
  23.    
  24.     def get_job(self):
  25.         return self.job
  26.    
  27.     def get_grade(self):
  28.         return self.grade
  29.    
  30.     def get_year(self):
  31.         return self.year
  32.    
  33.     def salary(self):
  34.         return 3000 + 500*self.grade +50*self.year
  35.    


  36. class Teamleader(PubInfoMixin):
  37.    
  38.     iic = 0

  39.     def __init__(self, name, job, grade, year, uid):
  40.         self.name = name
  41.         self.job = job
  42.         self.grade = grade
  43.         self.year = year
  44.         self.uid = uid
  45.         Teamleader.iic += 1
  46.    
  47.     def __del__(self):
  48.         Teamleader.iic -= 1

  49.     def get_uid(self):
  50.         return self.uid
  51.    
  52.     def get_name(self):
  53.         return self.name
  54.    
  55.     def get_job(self):
  56.         return self.job
  57.    
  58.     def get_grade(self):
  59.         return self.grade
  60.    
  61.     def get_year(self):
  62.         return self.year
  63.    
  64.     def salary(self):
  65.         return 4000 + 800*self.grade + 100*self.year



  66. class Manager(PubInfoMixin):

  67.     iic = 0

  68.     def __init__(self, name, job, grade, year, uid):
  69.         self.name = name
  70.         self.job = job
  71.         self.grade = grade
  72.         self.year = year
  73.         self.uid = uid
  74.         Manager.iic += 1
  75.    
  76.     def __del__(self):
  77.         Manager.iic -= 1
  78.         

  79.     def get_uid(self):
  80.         return self.uid
  81.    
  82.     def get_name(self):
  83.         return self.name
  84.    
  85.     def get_job(self):
  86.         return self.job
  87.    
  88.     def get_grade(self):
  89.         return self.grade
  90.    
  91.     def get_year(self):
  92.         return self.year
  93.    
  94.     def salary(self):
  95.         return 5000 + 1000*(self.grade + self.year)



  96. def luru():
  97.     name = input("姓名")
  98.     job = input("职位(E.普通职员;T.组长;M.经理):")
  99.     year = int(input("工龄"))
  100.     grade = int(input("级别"))
  101.     while job :
  102.         if job == 'E':
  103.             PubInfoMixin.pi_dict[PubInfoMixin.uid] = Employee(name, job, grade, year, PubInfoMixin.uid)
  104.             PubInfoMixin.uid += 1
  105.             break
  106.         elif job == 'T':
  107.             PubInfoMixin.pi_dict[PubInfoMixin.uid] = Teamleader(name, job, grade, year, PubInfoMixin.uid)
  108.             PubInfoMixin.uid += 1
  109.             break
  110.         elif job == 'M':
  111.             PubInfoMixin.pi_dict[PubInfoMixin.uid] = Manager(name, job, grade, year, PubInfoMixin.uid)
  112.             PubInfoMixin.uid += 1
  113.             break
  114.         else:
  115.             job = input("指令错误,请重新输入\n职位(E.普通职员;T.组长;M.经理):")

  116. def chaxun():
  117.     ins = input("1.员工查询;2.职位查询")
  118.     if  ins == '1':
  119.         uid = int(input("请输入工号:"))
  120.         ygdx = PubInfoMixin.pi_dict.get(uid)
  121.         if ygdx:
  122.             print("姓名:",ygdx.name)
  123.             print("职位:",ygdx.job)
  124.             print("级别:",ygdx.grade)
  125.             print("工龄:",ygdx.year)
  126.             print("薪资:",ygdx.salary())
  127.         else:
  128.             print("该工号不存在!")
  129.                
  130.     elif ins == '2':
  131.             job_ = input("职位(E.普通职员;T.组长;M.经理):")
  132.             if job_ == 'E':
  133.                 print('目前普通职员共有',Employee.iic,'人', sep='')
  134.             elif job_ == 'T':
  135.                 print('目前组长共有',Teamleader.iic,'人', sep='')
  136.             elif job_ == 'M':
  137.                 print('目前经理共有',Manager.iic,'人', sep='')
  138.             else:
  139.                 print("指令错误,请重新输入指令")

  140.     else:
  141.         print("指令错误,请重新输入指令")


  142. def shengji():
  143.     _id = int(input("请输入工号"))
  144.     dx = PubInfoMixin.pi_dict.get(_id)
  145.     if dx:
  146.         xz_1 = dx.salary()
  147.         print(dx.name, "工号:", dx.uid, "当前职位:", dx.job, dx.grade, "当前薪资", xz_1, sep='')
  148.         _ = int(input("请输入要增加的级数:"))
  149.         dx.grade += _
  150.         print("升级成功!")
  151.         print(dx.name, "工号:", dx.uid, "升级后职位:", dx.job, dx.grade, "升级后薪资", dx.salary(), '(',dx.salary()-xz_1 , ')', sep='')
  152.     else:
  153.         print("无此工号!")


  154. def jiangji():
  155.     _id = int(input("请输入工号"))
  156.     dx = PubInfoMixin.pi_dict.get(_id)
  157.     if dx:
  158.         xz_1 = dx.salary()
  159.         print(dx.name, "工号:", dx.uid, "当前职位:", dx.job, dx.grade, "当前薪资", xz_1, sep='')
  160.         _ = int(input("请输入要减少的级数:"))
  161.         dx.grade += _
  162.         print("降级成功!")
  163.         print(dx.name, "工号:", dx.uid, "降级后职位:", dx.job, dx.grade, "降级后薪资", dx.salary(), '(', xz_1-dx.salary(), ')', sep='')
  164.     else:
  165.         print("无此工号!")



  166. def main():

  167.     ins = input('1.录入;2.查询;3.升级;4.降级;5.退出:')
  168.     while ins != '5':
  169.         if ins == '1':
  170.             luru()
  171.         elif ins == '2':
  172.             chaxun()
  173.         elif ins == '3':
  174.             shengji()
  175.         elif ins == '4':
  176.             jiangji()
  177.         else:
  178.             ins = input("请重新输入指令:")
  179.         ins = input('1.录入;2.查询;3.升级;4.降级;5.退出:')


  180. main()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-28 21:45:34 | 显示全部楼层
查看
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2023-9-21 17:19:54 | 显示全部楼层
222222222222222222222222222
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2023-9-19 10:02:44 | 显示全部楼层
数据结构
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2023-9-18 12:03:13 | 显示全部楼层
0.python在多态的特性,一个函数的功能可以实现多个函数的功能等,在不同的对象一个运算符有多种多样的体现
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.不是,踏实把add()实例化了,不算多态
动动手0.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-9-18 09:45:56 From FishC Mobile | 显示全部楼层
0.
1.
2.
3.  
4.
5.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-19 21:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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