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
42
43
|
#!/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 height(self: 'Plant') -> None:
self.height_is *= 1.04
# Method to show the plant information
def show(self: 'Plant') -> None:
print(self.name_is + ": " + str(round(self.height_is, 1)) + "cm, "
+ str(self.age_is) + " days old")
Params = [("Rose", 25, 30),
("Oak", 200, 365),
("Cactus", 5, 90),
("Sunflower", 80, 45),
("Fern", 15, 120)]
def ft_plant_factory() -> None:
print("=== Plant Factory Output ===")
for param in Params:
obj = Plant(param[0], param[1], param[2]) # instantiate the object
# obj = Plant(*param) # instantiate the object and unpack with *
print("Created: ", end='')
obj.show()
if __name__ == "__main__":
ft_plant_factory()
|