I need to create a list of instantiated objects and loop through the objects of classes(Pet, Jumper, Dog, BigDog, SmallDog, Cat, HouseCat). But these objects are belonged to different classes and have different methods. The main part print the result as expected, but I have no idea to change it to a list of objects and loop through them. Could you please help me? Thanks. My code is as follows(you can ignore the class part, just focus on the main part):
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("-----------------------------------")
for item in my_list: ...