class Animal():
def __init__(self, given_parameter="rat", animal_name="nameless"):
if isinstance(given_parameter, str):
self.species_name = given_parameter
self.stomach_contents = ""
self.animal_name = animal_name
elif isinstance(given_parameter, Animal) :
self.species_name = given_parameter.species_name
self.stomach_contents = given_parameter.stomach_contents
else :
print("\n Unacceptable object was given to Animal constructor.")
def feed(self, food_for_this_animal):
if type(food_for_this_animal) == str:
self.stomach_contents = self.stomach_contents + food_for_this_animal + ","
else:
self.stomach_contents = self.stomach_contents + str(food_for_this_animal)
def make_speak(self):
if len(self.stomach_contents) == 0:
print("\n Hello, I am a " + self.species_name + " " + "named" + " " +self.animal_name + "." + "\n My stomache is empty" + "\n")
else:
print("\n Hello, I am a " + self.species_name + " " + "named" + " " +self.animal_name + "." + "\n I have eaten: " + self.stomach_contents + "\n")
a = Animal()
worm = Animal("worm", "Jordan")
cat = Animal("cat")
cat.feed(worm)
cat.feed("test")
a.make_speak()
cat.make_speak()
Y2xhc3MgQW5pbWFsKCk6CgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGdpdmVuX3BhcmFtZXRlcj0icmF0IiwgYW5pbWFsX25hbWU9Im5hbWVsZXNzIik6CiAgICAgICAgaWYgaXNpbnN0YW5jZShnaXZlbl9wYXJhbWV0ZXIsIHN0cik6CiAgICAgICAgICAgIHNlbGYuc3BlY2llc19uYW1lID0gZ2l2ZW5fcGFyYW1ldGVyCiAgICAgICAgICAgIHNlbGYuc3RvbWFjaF9jb250ZW50cyA9ICIiCiAgICAgICAgICAgIHNlbGYuYW5pbWFsX25hbWUgPSBhbmltYWxfbmFtZQogICAgICAgIGVsaWYgaXNpbnN0YW5jZShnaXZlbl9wYXJhbWV0ZXIsIEFuaW1hbCkgOgoKICAgICAgICAgICAgc2VsZi5zcGVjaWVzX25hbWUgPSAgZ2l2ZW5fcGFyYW1ldGVyLnNwZWNpZXNfbmFtZQogICAgICAgICAgICBzZWxmLnN0b21hY2hfY29udGVudHMgPSBnaXZlbl9wYXJhbWV0ZXIuc3RvbWFjaF9jb250ZW50cwogICAgICAgIGVsc2UgOgogICAgICAgICAgICBwcmludCgiXG4gVW5hY2NlcHRhYmxlIG9iamVjdCB3YXMgZ2l2ZW4gdG8gQW5pbWFsIGNvbnN0cnVjdG9yLiIpCgogICAgZGVmIGZlZWQoc2VsZiwgZm9vZF9mb3JfdGhpc19hbmltYWwpOgogICAgICAgIGlmIHR5cGUoZm9vZF9mb3JfdGhpc19hbmltYWwpID09IHN0cjoKICAgICAgICAgICAgc2VsZi5zdG9tYWNoX2NvbnRlbnRzID0gc2VsZi5zdG9tYWNoX2NvbnRlbnRzICsgZm9vZF9mb3JfdGhpc19hbmltYWwgKyAiLCIKICAgICAgICBlbHNlOgogICAgICAgICAgICBzZWxmLnN0b21hY2hfY29udGVudHMgPSBzZWxmLnN0b21hY2hfY29udGVudHMgKyBzdHIoZm9vZF9mb3JfdGhpc19hbmltYWwpCgogICAgZGVmIG1ha2Vfc3BlYWsoc2VsZik6CiAgICAgICAgaWYgbGVuKHNlbGYuc3RvbWFjaF9jb250ZW50cykgPT0gMDoKICAgICAgICAgICAgcHJpbnQoIlxuIEhlbGxvLCBJIGFtIGEgIiArIHNlbGYuc3BlY2llc19uYW1lICsgIiAiICsgIm5hbWVkIiArICIgIiArc2VsZi5hbmltYWxfbmFtZSArICIuIiArICJcbiBNeSBzdG9tYWNoZSBpcyBlbXB0eSIgKyAiXG4iKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHByaW50KCJcbiBIZWxsbywgSSBhbSBhICIgKyBzZWxmLnNwZWNpZXNfbmFtZSArICIgIiArICJuYW1lZCIgKyAiICIgK3NlbGYuYW5pbWFsX25hbWUgKyAiLiIgKyAiXG4gSSBoYXZlIGVhdGVuOiAiICsgc2VsZi5zdG9tYWNoX2NvbnRlbnRzICsgIlxuIikKCgoKCmEgPSBBbmltYWwoKQp3b3JtID0gQW5pbWFsKCJ3b3JtIiwgIkpvcmRhbiIpCmNhdCA9IEFuaW1hbCgiY2F0IikKY2F0LmZlZWQod29ybSkKY2F0LmZlZWQoInRlc3QiKQphLm1ha2Vfc3BlYWsoKQpjYXQubWFrZV9zcGVhaygp