diff --git a/u5/kindergarted-garden.py b/u5/kindergarted-garden.py index e69de29..764961c 100644 --- a/u5/kindergarted-garden.py +++ b/u5/kindergarted-garden.py @@ -0,0 +1,40 @@ +class NoSuchStudentException(Exception): + pass + + +class Garden: + DEFAULT_STUDENTS = ["Alice", "Bob", "Charlie", "David","Eve", "Fred", "Ginny", "Harriet", "Ileana", "Joseph", "Kincaid", "Larry"] + + PLANT_MAP ={ + 'G': 'tráva', + 'C': 'ďatelina', + 'R': 'reďkovky', + 'V': 'fialky' + } + + def __init__(self, diagram, students=None): + if students is None: + self.students = sorted(self.DEFAULT_STUDENTS) + else: + self.students = sorted(students) + + self.r = diagram.splitlines() + + def plants(self, student): + if student not in self.students: + raise NoSuchStudentException(f"Student '{student}' is not assigned a plot.") + + i = self.students.index(student) + c1 = i*2 + c2 = i*2+1 + + student_plants = [ + self.r[0][c1], + self.r[0][c2], + self.r[1][c1], + self.r[1][c2] + ] + + return [self.PLANT_MAP[code] for code in student_plants] + +