u5
This commit is contained in:
parent
7e97fa4fe8
commit
88458d0739
45
u5/kindergarten_garden.py
Normal file
45
u5/kindergarten_garden.py
Normal file
@ -0,0 +1,45 @@
|
||||
class NoSuchStudentException(Exception):
|
||||
"""Raised when plants are requested for a student not assigned a plot."""
|
||||
|
||||
|
||||
DEFAULT_STUDENTS = (
|
||||
"Alena",
|
||||
"Boris",
|
||||
"Cyril",
|
||||
"Daniel",
|
||||
"Eva",
|
||||
"František",
|
||||
"Gitka",
|
||||
"Helena",
|
||||
"Ivana",
|
||||
"Jozef",
|
||||
"Karol",
|
||||
"Ladislav",
|
||||
)
|
||||
|
||||
PLANT_NAMES = {
|
||||
"G": "Trava",
|
||||
"C": "Ďatelina",
|
||||
"R": "Reďkovky",
|
||||
"V": "Fialky",
|
||||
}
|
||||
|
||||
|
||||
class Garden:
|
||||
def __init__(self, diagram, students=None):
|
||||
self.row = diagram.splitlines()
|
||||
self.students = sorted(DEFAULT_STUDENTS if students is None else students)
|
||||
|
||||
def plants(self, student):
|
||||
try:
|
||||
index = self.students.index(student)
|
||||
except ValueError:
|
||||
raise NoSuchStudentException(
|
||||
f"Žiak '{student}' nemá pridelený záhon."
|
||||
) from None
|
||||
|
||||
start = index * 2
|
||||
return [
|
||||
PLANT_NAMES[code] for row in self.rows for code in row[start : start + 2]
|
||||
]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user