鱼C论坛

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

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

  [复制链接]
发表于 2025-9-21 15:22:30 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:不同类的实例化对象调用相同的方法

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:属于

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-20 15:02:43 | 显示全部楼层
062讲的时候,函数都写在类里;063讲的时候,函数单独写。什么时候函数单独写,什么时候放在类里面,有什么讲究吗?@小甲鱼
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-17 20:39:46 | 显示全部楼层
Python 的动态语言特性也属于多态吗?刚问了deepseek题目5这段代码展示的是 Python 的动态类型特性(Duck Typing)和函数参数默认值,而不是经典的多态(Polymorphism)。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-17 20:34:09 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-13 20:22:16 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:
子类中定义与父类同名的方法重写
第 1 题的答案是:
接口不变,却可以根据不同的对象执行不同的操作
第 2 题的答案是:
不可以
第 3 题的答案是:
黑猫白猫?
第 4 题的答案是:
增强了内聚
第 5 题的答案是:
不属于
-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-13 18:38:23 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:
根据不同的参数实现不同的功能
第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-8 15:13:00 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-5 10:25:21 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:
对不同对象进行不同操作
第 1 题的答案是:

第 2 题的答案是:
可以
第 3 题的答案是:
不知道
第 4 题的答案是:
降低了耦合度
第 5 题的答案是:
不属于
-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-5 07:38:12 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-3 15:05:30 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-2 16:34:45 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:同一个运算符,函数,对象在不同场景下有不同的效果

第 1 题的答案是:灵活

第 2 题的答案是:可以

第 3 题的答案是:

第 4 题的答案是:既内聚又耦合

第 5 题的答案是:不属于

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-9-1 22:07:48 | 显示全部楼层
1请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-31 22:27:21 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
class Staff:
    def __init__(self,n,j,g,y,u):
        self.name=n
        self.job=j
        self.grade=g
        self.year=y
        self.uid=u
  

class Employee(Staff):
    def salary(self):
        return 3000+500*self.grade+50*self.year
   
    def upgrade(self):
        self.grade+=self.x
        if self.grade>10:
            self.grade=1
            self.job='T'
            member=Teamleader(self.name,self.job,self.grade,self.year,self.uid)
            return self
        
    def downgrade(self):
        self.grade-=self.x
        while self.grade<0:
              self.grade=input("当前最低级别为0,请重新输入:")
        

class Teamleader(Staff):
    def salary(self):
       return  4000+800*self.grade+100*self.year
    def upgrade(self):
        self.grade+=self.x
        if self.grade>6:
            self.grade=1
            self.job='M'
            self=Manager(self.name,self.job,self.grade,self.year,self.uid)
            return self
            
    def downgrade(self):
        self.grade-=self.x
        if self.grade<1:
            self.grade=10
            self.job='E'
            self=Employee(self.name,self.job,self.grade,self.year,self.uid)
            return self
            
class Manager(Staff):
    def salary(self):
        return 5000+1000*(self.grade+self.year)
   
    def upgrade(self):
        self.grade+=self.x
        while self.grade>3:
              self.grade=input("当前最高级别为3,请重新输入:")
              
    def downgrade(self):
        self.grade-=self.x
        if self.grade<1:
            self.grade=6
            self.job='T'
            self=Teamleader(self.name,self.job,self.grade,self.year,self.uid)
            return self
            

class Operater(Employee,Teamleader,Manager):
    def __init__(self):
        self.uid=10000
        self.staffs={}
        
   
    def enter(self):
       n=input("姓名:")
       j=input("职位(E.普通员工;T.组长;M.经理):")
       y=int(input("工龄:"))
       g=int(input("级别:"))
       u=self.uid
       if j=='E':
          while g>10:
              g=int(input("当前最高级别为10,请重新输入:"))
          member=Employee(n,j,g,y,u)  
       if j=='T':
          while g>6:
              g=int(input("当前最高级别为6,请重新输入:"))
          member=Teamleader(n,j,g,y,u)
       if j=='M':
          while g>3:
              g=int(input("当前最高级别为3,请重新输入:"))
          member=Manager(n,j,g,y,u)
       self.staffs[u]=member
       self.uid+=1
       salary=member.salary()
       print(f"录入成功!姓名:{n},工号:{u}薪资:{salary}")

    def checkuid(self):
        u=int(input("请输入工号:"))
        try:
           member=self.staffs[u]
           return member
        except KeyError:
           print("该工号不存在!")
           return 0
      
    def upgrade(self):
     member=self.checkuid()
     if member:
        a=member.salary()
        print(f"{member.name},工号:{member.uid},当前职位:{member.job}{member.grade},薪资:{a}")
        member.x=int(input("请输入要增加的级数:"))
        member=member.upgrade()
        b=member.salary()
        print("升级成功!")
        print(f"{member.name},工号:{member.uid},当前职位:{member.job}{member.grade},升级后薪资:{b}(+{b-a})")
        self.staffs[member.uid]=member
        
    def downgrade(self):
     member=self.checkuid()
     if member:
        a=member.salary()
        print(f"{member.name},工号:{member.uid},当前职位:{member.job}{member.grade},薪资:{a}")
        member.x=int(input("请输入要减少的级数:"))
        member=member.downgrade()
        b=member.salary()
        print("降级成功!")
        print(f"{member.name},工号:{member.uid},当前职位:{member.job}{member.grade},升级后薪资:{b}({b-a})")
        self.staffs[member.uid]=member
        
    def checkstaff(self):
     member=self.checkuid()
     if member:
        print(f"姓名:{member.name}\n职位:{member.job}\n级别:{member.grade}\n工龄:{member.year}\n薪资{member.salary()}\n")
        
    def checkjob(self):
        j=input("职位(E.普通员工;T.组长;M.经理):")
        y=[]
        for each in self.staffs:
            if self.staffs[each].job==j:
                member=self.staffs[each]
                y.append(each)
                print(f"{member.uid}-{member.name}")
        if not y:
            print("目前没有!")


def main():
  run=Operater()
  while 1:
    t=input("1.录入;2.查询;3.升级;4.降级;5.退出:")
    if t=='1':
        run.enter()
    if t=='2':
        k=input("1.员工查询;2.职位查询:")
        if k=='1':
            run.checkstaff()
        else:
            run.checkjob()
    if t=='3':
        run.upgrade()
    if t=='4':
        run.downgrade()
    if t=='5':
        break
        
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-30 09:26:46 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-29 10:21:41 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-28 20:35:09 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-26 17:51:59 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-25 19:02:07 | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
class Member:
    def __init__(self,uid,name,job,grade,year,salary):
        self.uid=uid
        self.name=name
        self.job=job
        self.garde=grade
        self.year=year
        self.salary=salary

class Manage:
    def __init__(self):
        self.members={}
        self.uid=10000
    def start(self):
        while ins!=5:
            ins=input("1.录入;2.查询;3.升级;4.降级;5.退出:")
            if ins=='1':
                self.creat()
            if ins=='2':
                self.search()
            if ins=='3':
               
            
def creat(self):
    name=input("姓名:")
    job=input("职位:")
    year=input("工龄:")
    grade=input("级别:")
    member=Member(self.uid,name,job,grade,year)
    print(f"录入成功!姓名:{name},工号:{self.uid,薪资:{self.salary}}")


def search(self):
    z=input("1.员工查询;2.职位查询:")
    if z==1:
        self.check()
        print(self.members[uid],sep='\n')
    if z==2:
        self.job_search()

def check(self):
    uid=input("请输入工号:")
    while not self.members.get(uid):
        print("该工号不存在!")
    else:
        return uid

def job_search(self):
     m=input("职位(E.普通员工;T.组长;M.经理):")
     if m==E or T or M:
         for i in range(len(self.members)):
            self.key=0
            if members[i].value()==m:
                self.key+=1
            print(f"目前普通员工共有{self.key}人:")
        
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-8-25 14:45:29 | 显示全部楼层
1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-8-20 14:12:24 From FishC Mobile | 显示全部楼层
请回复您的答案^_^

-------- 问答题 --------

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

-------- 动动手 --------

请将第 0 题的代码写在下方:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-21 11:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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