Skip to content

Commit

Permalink
solution
Browse files Browse the repository at this point in the history
  • Loading branch information
Shum430 committed Aug 19, 2023
1 parent f74e6d1 commit bc30809
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 1 deletion.
Empty file added app/__init__.py
Empty file.
54 changes: 53 additions & 1 deletion app/main.py
Original file line number Diff line number Diff line change
@@ -1 +1,53 @@
# write your code here
class Animal:
def __init__(
self,
name: str,
appetite: int,
is_hungry: bool = True
) -> None:
self.name = name
self.appetite = appetite
self.is_hungry = is_hungry

def print_name(self) -> None:
print(f"Hello, I'm {self.name}")

def feed(self) -> int:
if self.is_hungry:
print(f"Eating {self.appetite} food points...")
self.is_hungry = False
return self.appetite
return 0


class Cat(Animal):
def __init__(
self,
name: str,
is_hungry: bool = True
) -> None:
super().__init__(name=name, is_hungry=is_hungry, appetite=3)

@staticmethod
def catch_mouse() -> None:
print("The hunt began!")


class Dog(Animal):
def __init__(
self,
name: str,
is_hungry: bool = True
) -> None:
super().__init__(name=name, is_hungry=is_hungry, appetite=7)

@staticmethod
def bring_slippers() -> None:
print("The slippers delivered!")


def feed_animals(list_of_animals: list[Animal]) -> int:
sum_of_food_points = 0
for animal in list_of_animals:
sum_of_food_points += animal.feed()
return sum_of_food_points

0 comments on commit bc30809

Please sign in to comment.