Python: kindergarten_garden
This commit is contained in:
parent
afc981a9ce
commit
b094d15ff7
4 changed files with 210 additions and 0 deletions
25
python/kindergarten-garden/kindergarten_garden.py
Normal file
25
python/kindergarten-garden/kindergarten_garden.py
Normal 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]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue