exercism-solutions/python/kindergarten-garden/kindergarten_garden.py
2021-06-08 18:57:03 +03:00

25 lines
799 B
Python

from typing import List
DEFAULT_STUDENTS = ['Alice', 'Bob', 'Charlie', 'David',
'Eve', 'Fred', 'Ginny', 'Harriet',
'Ileana', 'Joseph', 'Kincaid', 'Larry']
PLANT_NAMES = {'V': 'Violets', 'R': 'Radishes', 'G': 'Grass', 'C': 'Clover'}
class Garden:
def __init__(self, diagram: str, students: List[str] = DEFAULT_STUDENTS):
diagram = diagram.split()
self.plant_db = {}
for i, name in enumerate(sorted(students)):
self.plant_db[name] = ''.join([diagram[0][2*i:2*i + 2],
diagram[1][2*i:2*i + 2]])
def plants(self, name: str) -> List[str]:
if name not in self.plant_db.keys():
return []
return [PLANT_NAMES[ch] for ch in self.plant_db[name]]