From 479e23d6a6dde55826bb146c854674784b1e46c4 Mon Sep 17 00:00:00 2001 From: David Gailleton Date: Tue, 23 Dec 2025 13:39:51 +0000 Subject: [PATCH] 01/05 --- 01/ex5/ft_plant_types.py | 59 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 01/ex5/ft_plant_types.py diff --git a/01/ex5/ft_plant_types.py b/01/ex5/ft_plant_types.py new file mode 100644 index 0000000..705958a --- /dev/null +++ b/01/ex5/ft_plant_types.py @@ -0,0 +1,59 @@ +class Plant: + name: str + height: int + age: int + + def __init__(self, name, height, age): + self.name = name + self.height = height + self.age = age + + def get_info(self): + print(self.name.capitalize() + ":", self.height, end="") + print("cm,", self.age, "days old") + + +class Flower(Plant): + color: str + + def bloom(self): + print(self.name + " is blooming beautifully !") + + def __init__(self, name, height, age, color): + super().__init__(name=name, height=height, age=age) + self.color = color + + +class Tree(Plant): + trunk_diameter: str + + def produce_shade(self): + shade_size = self.height * self.trunk_diameter / 1000 + print(self.name, "provides", shade_size, "square meter") + + def __init__(self, name, height, age, trunk_diameter): + super().__init__(name=name, height=height, age=age) + self.trunk_diameter = trunk_diameter + + +class Vegetable(Plant): + harvest_season: str + nutritional_value: str + + def __init__(self, name, height, age, hs, nv): + super().__init__(name=name, height=height, age=age) + self.harvest_season = hs + self.nutritional_value = nv + + +if __name__ == "__main__": + flower0 = Flower("Rose", 30, 5, "red") + flower1 = Flower("Chrysanthem", 50, 1, "yellow") + tree0 = Tree("Platane", 300, 6, 30) + tree1 = Tree("Sapin", 700, 15, 50) + vegetable0 = Vegetable("Salade", 30, 1, "Summer", "Vitamine c") + vegetable1 = Vegetable("tomato", 200, 2, "Autumn", "Vitamine d") + print(flower0.name, flower0.height, flower0.age, flower0.color) + flower0.bloom() + tree0.produce_shade() + print(vegetable0.name, "is rich in", vegetable0.nutritional_value)