summaryrefslogtreecommitdiff
path: root/py01/ex2/ft_plant_growth.py
blob: c5161818de5d0104c08a9791a9b4605e55fdce14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env python3

# Create a class
class Plant:
    def __init__(self: 'Plant', name: str, height: float, age: int) -> None:
        self.name_is = name
        self.height_is = height
        self.age_is = age

# Method to grow the age
    def age(self: 'Plant') -> None:
        self.age_is += 1

# Method to grow the height
    def grow(self: 'Plant') -> None:
        self.height_is *= 1.04

# Method to show the plant information
    def show(self: 'Plant') -> None:
        print(f" {self.name_is}: {str(round(self.height_is, 1))}cm,"
              f"{str(self.age_is)} days old")


rose = Plant("Rose", 25, 30)


def ft_garden_growth(plant: Plant) -> None:
    print("=== Garden Plant Growth ===")
    plant.show()
    start = plant.height_is
    count = 7
    for i in range(1, count + 1):
        print("=== Day " + str(i) + " ===")
        plant.age()
        plant.grow()
        plant.show()
    print("Growth this week: " + str(round(plant.height_is - start, 1)) + "cm")


if __name__ == "__main__":
    ft_garden_growth(rose)