From 9620c42ee6b2631992adedab22876f27d1427894 Mon Sep 17 00:00:00 2001 From: Maksym Liashenko Date: Tue, 13 Oct 2026 12:39:19 +0000 Subject: [PATCH] Add u5/kindergarten_garden.py --- u5/kindergarten_garden.py | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 u5/kindergarten_garden.py diff --git a/u5/kindergarten_garden.py b/u5/kindergarten_garden.py new file mode 100644 index 0000000..ebc24b1 --- /dev/null +++ b/u5/kindergarten_garden.py @@ -0,0 +1,44 @@ +class NoSuchStudentException(Exception): + """Raised when plants are requested for a student not assigned a plot.""" + pass + + + +class Garden: + DEFAULT_STUDENTS = [ + "Alena" + "Boris" + "Cyril" + "Daniel" + "Eva" + "František" + "Gitka" + "Helena" + "Ivana" + "Jozef" + "Karol" + "Ladislav" + ] + + PLANT_MAP = { + "G":"Tráva", + "C":"Ďatelina", + "R":"Reďkovky", + "V":"Fialky", + } + + def __init__(self, diagram, students=None): + self.students = sorted(students) + self.rows = diagram.split("\n") + + def plants(self, student_name): + if student_name not in self.students: + raise NoSuchStudentException("Ziak neexistuje") + + index = self.student.index(student_name) + start = index *2 + end = start +2 + + plant_chars = self.rows[0][start:end] +self.rows[1][start.end] + + return [self.PLANT_MAP[char] for char in plant_chars] \ No newline at end of file