From ca38589028e7cc5f2cb3ddec7446ebb601de9254 Mon Sep 17 00:00:00 2001 From: Marege Date: Tue, 13 Oct 2026 17:21:41 +0200 Subject: [PATCH] U5 --- u5/kindergarten_garden.py | 53 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 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..5b4bac8 --- /dev/null +++ b/u5/kindergarten_garden.py @@ -0,0 +1,53 @@ +class NoSuchStudentException(Exception): + """Výnimka, ak žiak nemá v záhone pridelené políčka.""" + pass + + +class Garden: + students = [ + "Alena", "Boris", "Cyril", "Daniel", "Eva", "František", + "Gitka", "Helena", "Ivana", "Jozef", "Karol", "Ladislav" + ] + plant_names = { + 'V': 'Fialky', + 'R': 'Reďkovky', + 'C': 'Ďatelina', + 'G': 'Tráva' + } + def __init__(self, diagram, students=None): + rows = diagram.splitlines() #ділимо на 2 рядки + top = rows[0] + bot = rows[1] + if students is None: + students = self.students #якшо нема списку то берем наш та сортуємо по абецеді + sorted_students = sorted(students) + #рахуємо для кожного учня його 4 полиички + cups = [] + len_top = len(top) + len_bot = len(bot) + for i in range(0, len_top, 2): + top_part = top[i:i + 1] #беремо звеху 2(не індекс а к-сть елементів) і знизу 2 + bot_part = bot[i:i + 1] + cup = top_part + bot_part + cups.append(cup) + #двємо горшочки з ківточками учням + self.plots = {} + l_cups = len(cups) + for i in range(l_cups): + if i >= len(sorted_students): + break #якшо горшків більше як учнів + student = sorted_students[i] # поточний студент 1 + self.plots[student] = cups[i] + + def plants(self, student): + if student not in self.plots: #чи такий учень існує + raise NoSuchStudentException(f"Žiak {student} nemá políček.") + + #дефінуєм 4 букви учня + allfourleters = self.plots[student] # букви назарчика + result = [] #кожна буква це рослина беремо її з словника і додаємо в результат + for i in allfourleters: + plant = self.plant_names[i] + result.append(plant) + + return result \ No newline at end of file