-->
当前位置:首页 > 题库 > 正文内容

程序填空题:波斯猫,狸花猫以及查理兔 - 实验15 面向对象 - 《Python编程基础及应用实验教程》 - 高教社

Luz3年前 (2022-06-17)题库1690


![image.png](~/620bd62e-228a-4ab4-a0ee-c413a37e855a.png)

请结合图15-2所示的继承结构,将下述程序补充完整,并调试运行,使程序的执行结果符合预期。 注意每个空白处填写的内容不可以超过一行。
<br>
python
class Pet:
def __init__(self,name):
self.__sName = name

def getName(self):
return

class Rabbit():
def __init__(self,name):
Pet.__init__()

def speak(self):
print(f"Hello from rabbit {self.getName()}.")

def eat(,iWeight):
print(f"Rabbit {} ate {iWeight} gram's food.")

class Cat(Pet):
def __init__(self,name):


def eat(self,):
print(f"Cat {self.getName()} ate {} gram's food.")

class DragonLi(Cat):
def __init__(self,name):
.__init__(self,name)

def speak():
print(f"Hello from dragonli cat {self.getName()}.")

class Persian(Cat):
def __init__(,name):
Cat.__init__(self,name)

def speak():
print(f"Hello from persian cat {}.")

print("-------------Rabbit Charlie--------------")
r = Rabbit("Charlie")
r.eat(100)
r.speak()

print("-------------Cat Lucy--------------")
c1 = DragonLi("Lucy")
c1.eat(200)
c1.speak()

print("-------------Cat Eddie--------------")
c2 = Persian("Eddie")
c2.eat(100)
c2.speak()


程序期望的执行结果:

-------------Rabbit Charlie--------------
Rabbit Charlie ate 100 gram's food.
Hello from rabbit Charlie.
-------------Cat Lucy--------------
Cat Lucy ate 200 gram's food.
Hello from dragonli cat Lucy.
-------------Cat Eddie--------------
Cat Eddie ate 100 gram's food.
Hello from persian cat Eddie.


<br>
请以上述代码为基础,执行下述程序,观察执行结果,并思考为什么?<br>

print(isinstance(c1,Persian))
print(isinstance(c1,DragonLi))
print(isinstance(c1,Cat))
print(isinstance(c1,Pet))
print(isinstance(r,Pet))
print(isinstance(r,Rabbit))
print(isinstance(r,Persian))







答案:
第1空:self.__sName

第2空:Pet

第3空:self,name

第4空:self

第5空:self.getName()

第6空:Pet.__init__(self,name)

第7空:iWeight

第8空:iWeight

第9空:Cat

第10空:self

第11空:self

第12空:self

第13空:self.getName()

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。