diff --git a/u5/kindergarten_garden.py b/u5/kindergarten_garden.py index ef058ba..68384a4 100644 --- a/u5/kindergarten_garden.py +++ b/u5/kindergarten_garden.py @@ -1,44 +1,45 @@ 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" + "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", + "G": "Tráva", + "C": "Ďatelina", + "R": "Reďkovky", + "V": "Fialky", } - def __init__(self, diagram, students=DEFAULT_STUDENTS): - self.students = sorted(students) + def __init__(self, diagram, students=None): self.rows = diagram.split("\n") + if students is None: + num_students = len(self.rows[0]) // 2 + self.students = sorted(self.DEFAULT_STUDENTS[:num_students]) + else: + self.students = sorted(students) 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 + index = self.students.index(student_name) + start = index * 2 + end = start + 2 - plant_chars = self.rows[0][start:end] +self.rows[1][start.end] + 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