From 9c8c3db34f0f855450b2cc3a64e4f65af76c5f17 Mon Sep 17 00:00:00 2001 From: Oksana Dudok Date: Thu, 29 Aug 2024 19:00:49 +0300 Subject: [PATCH 1/3] 'Solution' --- app/main.py | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/app/main.py b/app/main.py index 8fbf3053..bda69038 100644 --- a/app/main.py +++ b/app/main.py @@ -1 +1,42 @@ -# 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 | str: + 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, appetite=3, is_hungry=is_hungry) + + def catch_mouse(self) -> None: + print("The hunt began!") + + +class Dog(Animal): + + def __init__(self, name: str, is_hungry: bool = True) -> None: + super().__init__(name, appetite=7, is_hungry=is_hungry) + + def bring_slippers(self) -> None: + print("The slippers delivered!") + + +def feed_animals(animals: Animal) -> int: + total_food_points = 0 + for animal in animals: + total_food_points += animal.feed() + return total_food_points From 835d33017bebdf3423fe5f99c63085b9c34bc18a Mon Sep 17 00:00:00 2001 From: Oksana Dudok Date: Fri, 30 Aug 2024 15:45:14 +0300 Subject: [PATCH 2/3] after add list comprehention --- app/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/main.py b/app/main.py index bda69038..3734638d 100644 --- a/app/main.py +++ b/app/main.py @@ -35,7 +35,7 @@ def bring_slippers(self) -> None: print("The slippers delivered!") -def feed_animals(animals: Animal) -> int: +def feed_animals(animals: list[Animal]) -> int: total_food_points = 0 for animal in animals: total_food_points += animal.feed() From 0cdc520f88e77e1a5ad2ac35b0f5f0a8586e01fb Mon Sep 17 00:00:00 2001 From: Oksana Dudok Date: Fri, 30 Aug 2024 20:03:50 +0300 Subject: [PATCH 3/3] after remark --- app/main.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/main.py b/app/main.py index 3734638d..26a826cc 100644 --- a/app/main.py +++ b/app/main.py @@ -36,7 +36,4 @@ def bring_slippers(self) -> None: def feed_animals(animals: list[Animal]) -> int: - total_food_points = 0 - for animal in animals: - total_food_points += animal.feed() - return total_food_points + return sum(animal.feed() for animal in animals)