Python: kindergarten_garden

This commit is contained in:
Dmitry Kokorin 2021-06-08 18:57:03 +03:00
parent afc981a9ce
commit b094d15ff7
4 changed files with 210 additions and 0 deletions

View file

@ -0,0 +1,25 @@
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]]