Мне нужно создать список экземпляров объектов и l oop через объекты классов (Pet, Jumper, Dog, BigDog, SmallDog, Cat, HouseCat). Но эти объекты принадлежат к разным классам и имеют разные методы. Основная часть выводит результат, как и ожидалось, но я не знаю, чтобы изменить его на список объектов и l oop через них. Не могли бы вы мне помочь? Спасибо. Мой код выглядит следующим образом (вы можете игнорировать часть класса, просто сосредоточьтесь на основной части):
class Pet:
"""
insert a class docstring
"""
# Create two variables kind and color; assign value
kind = "animal"
color = "brown"
def __init__(self, name):
"""
Constructor for Pet
"""
# In the constructor, initialize the pets name
self.name = name
def __str__(self):
"""
insert a method docstring
"""
# Print the name and description of pet so that it matches the
# sample output from assignment
print("I am a " + Pet.color + " animal named " + self.name)
print(self.kind + "\n" + self.color)
def do_tricks(self):
"""
insert a method docstring
"""
# Print the name of the pet and that it is doing tricks
print(self.name + " is doing tricks")
# Call the speak method
# self.speak()
# Call the jump method
# self.jump()
def speak(self): # this will be overridden - leave as is
pass
def jump(self): # this will be overridden - leave as is
pass
class Jumper(Pet):
"""
This is a mixin class for jump
"""
def jump(self):
"""
insert a method docstring
"""
# Print pet's name and that the Pet is jumping
print(self.name + " is jumping")
class Dog(Jumper):
"""
insert a Class docstring
"""
# Change kind to canine
kind = "canine"
def __str__(self):
"""
insert the method docstring
"""
# Print the name and a description of dog so that it matches the
# sample output from assignment
print("I am a dog named " + self.name)
print(self.kind + "\n" + self.color)
def __call__(self):
"""
insert a method docstring
"""
# Rollover action prints the name of the dog and that it is rolling
# over
print(self.name + " is rolling over")
# Owner action returns the name of the owner
print("My owner is George")
class BigDog(Dog):
"""
insert a Class docstring
"""
# Change the color to tan
color = "tan"
def __str__(self):
"""
insert a method docstring
"""
# Print the name and description of BigDog so that it matches the
# sample output from assignment
print(self.name + " is a large, muscular dog ")
print(self.kind + "\n" + self.color)
def speak(self):
"""
insert a method docstring
"""
# Print dogs name and what it says
print(self.name + " says Woof!!!")
class SmallDog(Dog):
"""
insert a Class docstring
"""
# Change the color to brindle
color = "brindle"
def __str__(self):
"""
insert a method docstring
"""
# Print the name and description of SmallDog so that it matches the
# sample output from assignment
print(self.name + " is a tiny, cute dog")
print(self.kind + "\n" + self.color)
def speak(self):
"""
insert a method docstring
"""
# Print dogs name and what it says
print(self.name + " says Yip!")
class Cat(Jumper):
"""
insert a Class docstring
"""
# Change the kind to feline
kind = "feline"
def __str__(self):
"""
insert a method docstring
"""
# Print the name and description of cat so that it matches the
# sample output from assignment
print("I am a cat named " + self.name)
print(self.kind + "\n" + self.color)
def speak(self):
"""
insert a method docstring
"""
# Print cats name and what it says
print(self.name + " says Meow!!!")
def climb(self):
"""
insert a method docstring
"""
# Print the name of the cat and that it is climbing
print(self.name + " is climbing the curtains again")
class HouseCat(Cat):
"""
insert a Class docstring
"""
# Change the color to white
color = "white"
def __str__(self):
"""
insert a method docstring
"""
# Print the name and description of the house cat so that it matches
# the sample output from assignment
print(self.name + " is a cat with fluffy, " + self.color + " fur")
print(self.kind + "\n" + self.color)
def speak(self):
"""
insert a method docstring
"""
# Print cats name and what it says
print(self.name + " says Purr")enter code here
print(__name__)
if __name__ == "__main__":
my_pet = Pet("Rover")
my_pet.__str__()
my_pet.do_tricks()
print("-----------------------------------")
my_cat = Cat("Lion")
my_cat.__str__()
my_cat.do_tricks()
my_cat.speak()
my_cat.jump()
my_cat.climb()
print("-----------------------------------")
my_dog = Dog("Roo")
my_dog.__str__()
my_dog.do_tricks()
my_dog.jump()
my_dog.__call__()
print("-----------------------------------")
my_big_dog = BigDog("Noah")
my_big_dog.__str__()
my_big_dog.do_tricks()
my_big_dog.speak()
my_big_dog.jump()
my_big_dog.__call__()
print("-----------------------------------")
my_small_dog = SmallDog("Lucky")
my_small_dog.__str__()
my_small_dog.do_tricks()
my_small_dog.speak()
my_small_dog.jump()
my_small_dog.__call__()
print("-----------------------------------")
my_house_cat = HouseCat("Zebra")
my_house_cat.__str__()
my_house_cat.do_tricks()
my_house_cat.speak()
my_house_cat.jump()
my_house_cat.climb()
print("-----------------------------------")