Skip to content

Commit

Permalink
Solution feed-animals
Browse files Browse the repository at this point in the history
  • Loading branch information
vsvarvariuk committed Oct 1, 2024
1 parent f74e6d1 commit 85839ab
Showing 1 changed file with 45 additions and 1 deletion.
46 changes: 45 additions & 1 deletion app/main.py
Original file line number Diff line number Diff line change
@@ -1 +1,45 @@
# write your code here
from __future__ import annotations


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) -> Animal | int:
if self.is_hungry:
print(f"Eating {self.appetite} food points...")
self.is_hungry = not self.is_hungry
return self.appetite
else:
return 0


class Cat(Animal):

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

@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, appetite=7, is_hungry=is_hungry)

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


def feed_animals(the_list: list) -> int:
return sum(animal.feed() for animal in the_list if animal.is_hungry)

0 comments on commit 85839ab

Please sign in to comment.