Update u5/kindergarten_garden.py
This commit is contained in:
parent
3933e94b78
commit
cd4b7bef8a
@ -1,44 +1,45 @@
|
|||||||
class NoSuchStudentException(Exception):
|
class NoSuchStudentException(Exception):
|
||||||
"""Raised when plants are requested for a student not assigned a plot."""
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Garden:
|
class Garden:
|
||||||
DEFAULT_STUDENTS = [
|
DEFAULT_STUDENTS = [
|
||||||
"Alena"
|
"Alena",
|
||||||
"Boris"
|
"Boris",
|
||||||
"Cyril"
|
"Cyril",
|
||||||
"Daniel"
|
"Daniel",
|
||||||
"Eva"
|
"Eva",
|
||||||
"František"
|
"František",
|
||||||
"Gitka"
|
"Gitka",
|
||||||
"Helena"
|
"Helena",
|
||||||
"Ivana"
|
"Ivana",
|
||||||
"Jozef"
|
"Jozef",
|
||||||
"Karol"
|
"Karol",
|
||||||
"Ladislav"
|
"Ladislav",
|
||||||
]
|
]
|
||||||
|
|
||||||
PLANT_MAP = {
|
PLANT_MAP = {
|
||||||
"G":"Tráva",
|
"G": "Tráva",
|
||||||
"C":"Ďatelina",
|
"C": "Ďatelina",
|
||||||
"R":"Reďkovky",
|
"R": "Reďkovky",
|
||||||
"V":"Fialky",
|
"V": "Fialky",
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, diagram, students=DEFAULT_STUDENTS):
|
def __init__(self, diagram, students=None):
|
||||||
self.students = sorted(students)
|
|
||||||
self.rows = diagram.split("\n")
|
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):
|
def plants(self, student_name):
|
||||||
if student_name not in self.students:
|
if student_name not in self.students:
|
||||||
raise NoSuchStudentException("Ziak neexistuje")
|
raise NoSuchStudentException("Ziak neexistuje")
|
||||||
|
|
||||||
index = self.student.index(student_name)
|
index = self.students.index(student_name)
|
||||||
start = index *2
|
start = index * 2
|
||||||
end = start +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]
|
return [self.PLANT_MAP[char] for char in plant_chars]
|
||||||
Loading…
Reference in New Issue
Block a user