MAXMUS 发表于 2025-9-21 15:22:30

请回复您的答案^_^

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

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

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:属于

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

请将第 0 题的代码写在下方:

dafan_ 发表于 2025-9-20 15:02:43

062讲的时候,函数都写在类里;063讲的时候,函数单独写。什么时候函数单独写,什么时候放在类里面,有什么讲究吗?@小甲鱼

dafan_ 发表于 2025-9-17 20:39:46

Python 的动态语言特性也属于多态吗?刚问了deepseek题目5这段代码展示的是 Python 的动态类型特性(Duck Typing)和函数参数默认值,而不是经典的多态(Polymorphism)。

dafan_ 发表于 2025-9-17 20:34:09

请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

先X后D一顿B 发表于 2025-9-13 20:22:16

请回复您的答案^_^

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

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

请将第 0 题的代码写在下方:

zhanzhize 发表于 2025-9-13 18:38:23

请回复您的答案^_^

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

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

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

lc88824 发表于 2025-9-8 15:13:00

请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

是小颠啊 发表于 2025-9-5 10:25:21

请回复您的答案^_^

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

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

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

请将第 0 题的代码写在下方:

qwerfw 发表于 2025-9-5 07:38:12

请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

dcgnxo 发表于 2025-9-3 15:05:30

请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

Janlye 发表于 2025-9-2 16:34:45

请回复您的答案^_^

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

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

第 1 题的答案是:灵活

第 2 题的答案是:可以

第 3 题的答案是:

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

第 5 题的答案是:不属于

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

请将第 0 题的代码写在下方:

TinCR 发表于 2025-9-1 22:07:48

1请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

CBDYT 发表于 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):
       return4000+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=member
       self.uid+=1
       salary=member.salary()
       print(f"录入成功!姓名:{n},工号:{u}薪资:{salary}")

    def checkuid(self):
      u=int(input("请输入工号:"))
      try:
         member=self.staffs
         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
      
    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
      
    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.job==j:
                member=self.staffs
                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
      

3XL 发表于 2025-8-30 09:26:46

请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

delacy005 发表于 2025-8-29 10:21:41

请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

spideypool 发表于 2025-8-28 20:35:09

请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

简三十三 发表于 2025-8-26 17:51:59

请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:

徐秋云 发表于 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,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.value()==m:
                self.key+=1
            print(f"目前普通员工共有{self.key}人:")
      

sophia258 发表于 2025-8-25 14:45:29

1

ahahah1231 发表于 2025-8-20 14:12:24

请回复您的答案^_^

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

第 0 题的答案是:

第 1 题的答案是:

第 2 题的答案是:

第 3 题的答案是:

第 4 题的答案是:

第 5 题的答案是:

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

请将第 0 题的代码写在下方:
页: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17
查看完整版本: 第063讲:类和对象(VI)| 课后测试题及答案