class NoSuchStudentException(Exception): """Виняток, що викликається, якщо ім'я учня не знайдено в саду.""" pass class Garden: # Правильна назва константи з літерою 'a' (DEFAULT) 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: str, students: list[str] = None): self.rows = diagram.splitlines() if students is not None: self.students = sorted(students) else: self.students = self.DEFAULT_STUDENTS def plants(self, student_name: str) -> list[str]: if student_name not in self.students: raise NoSuchStudentException(f"Učeň {student_name} neexistuje v tomto záhone.") student_index = self.students.index(student_name) start_col = student_index * 2 top_plants = self.rows[0][start_col:start_col + 2] bottom_plants = self.rows[1][start_col:start_col + 2] raw_chars = list(top_plants + bottom_plants) result = [self.PLANT_MAP[char] for char in raw_chars] return result