Track
/
Python
Python
/
Esercizi
/
Il giardino della scuola materna
Il giardino della scuola materna

Il giardino della scuola materna

Facile

Introduzione

La classe della scuola dell'infanzia sta imparando a coltivare le piante. L'insegnante ha pensato che sarebbe stata una buona idea dare alla classe dei semi da piantare e far crescere nella terra. A questo scopo, i bambini hanno messo dei bicchierini sui davanzali e hanno piantato un tipo di pianta in ogni bicchiere. I bambini hanno potuto scegliere i loro preferiti tra quattro tipi di semi disponibili: grass, clover, radishes e violets.

Istruzioni

Il tuo compito è, dato un diagramma, determinare quali piante spettano a ciascun bambino della classe dell'asilo.

Nella classe ci sono 12 bambini:

  • Alice, Bob, Charlie, David, Eve, Fred, Ginny, Harriet, Ileana, Joseph, Kincaid, and Larry.

Vengono piantati quattro tipi diversi di semi:

Pianta Codifica nel diagramma
Grass G
Clover C
Radish R
Violet V

Ogni bambino riceve quattro bicchieri, due su ogni riga:

[window][window][window]
........................ # each dot represents a cup
........................

L'insegnante assegna i bicchieri ai bambini in ordine alfabetico in base ai loro nomi: Alice viene per prima e Larry per ultimo.

Ecco un esempio di diagramma che rappresenta le piante di Alice:

[window][window][window]
VR......................
RG......................

Nella prima riga, quella più vicina alle finestre, ha una violet ed un radish. Nella seconda riga ha un radish e del grass.

Il programma riceverà le piante da sinistra a destra, a partire dalla riga più vicina alle finestre. Da qui dovrebbe riuscire a determinare quali piante appartengono a ciascun bambino.

Per esempio, se gli viene detto che il giardino è questo:

[window][window][window]
VRCGVVRVCGGCCGVRGCVCGCGV
VRCCCGCRRGVCGCRVVCVGCGCV

Se poi gli vengono chieste le piante di Alice, dovrebbe restituire:

  • Violets, radishes, violets, radishes

Mentre chiedendo le piante di Bob si otterrebbe:

  • Clover, grass, clover, clover

Come è strutturato questo esercizio nel track di Python

I test di questo esercizio si aspettano che il tuo programma sia implementato come una class Garden (vedi anche classes). Se non hai familiarità con le classi in Python, questo tutorial di Real Python potrebbe essere un buon punto di partenza in più.

La tua class dovrebbe implementare un method chiamato plants, che prende il nome di uno studente come argomento e restituisce la list dei nomi delle piante che appartengono a quello studente.

I costruttori

La creazione del giardino di esempio:

[window][window][window]
VRCGVVRVCGGCCGVRGCVCGCGV
VRCCCGCRRGVCGCRVVCVGCGCV

sarebbe, nei test, rappresentata come Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV").

Per far funzionare questa rappresentazione, la tua class dovrà implementare un __init__() metodo speciale. Se non hai familiarità con __init__() o con i costruttori, oggetti classe e oggetti istanza della documentazione di Python offre una spiegazione più dettagliata.

I parametri predefiniti

In alcuni test, una list di studenti viene passata come argomento a __init__(). Questa dovrebbe sostituire l'elenco di dodici studenti fornito nella descrizione del problema. Entrambe queste istruzioni devono funzionare con il tuo metodo __init__():

# Make a garden based on the default 12-student roster.
Garden("VRCGVVRVCGGCCGVRGCVCGCGV\nVRCCCGCRRGVCGCRVVCVGCGCV") 

# Make a garden based on a 2-student roster.
Garden("VRCC\nVCGG", students=["Valorie", "Raven"]) 

Un possibile approccio è rendere la list di studenti un argomento predefinito; la documentazione di Python descrive in dettaglio i default parameters mentre spiega le definizioni di funzione.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Python Exercism

Vuoi iniziare Il giardino della scuola materna?

Iscriviti a Exercism per imparare e padroneggiare Python con 17 concetti146 esercizi e il mentoring di persone reali, tutto gratis.