Coding for KidsCoding for Kids
Livelli CreativiSfideGuida per Insegnanti
Vota per le funzionalità
Corso Avanzato di Sviluppo Python
Capitolo
>
Livello

Liste Avanzate
Creare una lista annidata

Obiettivo

Conserva correttamente i condimenti nella rastrelliera utilizzando elenchi annidati.

Una delle rastrelliere è vuota e necessita di essere rifornita: in magazzino ci sono dei condimenti, ma andranno sistemati, organizzati e posizionati correttamente nella rastrelliera.

A causa dell'elevata quantità di oggetti e del fatto che sono riposti su diversi ripiani all'interno della rastrelliera, le liste e i dizionari normali non saranno sufficienti. In situazioni come queste puoi utilizzare le Liste Annidate, ovvero liste che contengono una o più liste al loro interno.

Per poter conservare le spezie devi prima procurarti dei barattoli per contenere correttamente gli oggetti. Cammina verso il segno a X dorato, rivolgiti verso la cassa e utilizza la funzione collect() per prendere il "empty jar", al fine di agevolare il processo di conservazione.

Una volta raccolti i barattoli, cammina verso i segni a X chiari che si trovano davanti alle casse di legno. In questo livello sono presenti quattro costanti di lista, una per ogni cassa: crate1, crate2, crate3 e crate4. Usa la funzione speak() con queste costanti di lista per determinare il contenuto di ciascuna cassa; le costanti corrispondono alle casse da destra a sinistra, per esempio player.speak(crate1).

Una volta determinato il contenuto delle casse, utilizza le List Comprehensions per creare nuove liste escludendo gli oggetti non necessari presenti nelle costanti. Se il contenuto di una cassa include: "package", "string" o "stuffing", utilizza la stessa formula del capitolo precedente per curare le liste, per esempio:

crate1 = ["bay herb", "cilantro herb", "ginger herb", "oregano herb", "string"] herbs = [x for x in crate1 if not "string" in x]

Il codice sopra creerà una nuova lista contenente solo gli oggetti che non includono la parola "string". Le liste dovranno essere denominate: herbs, spices, salts e sugars; saprai quale lista utilizzare in base al nome degli oggetti in essa contenuti.

Una volta create tutte e quattro le liste, è il momento di combinarle in un Elenco Annidato. Crea una lista chiamata seasonings e aggiungi al suo interno le liste che hai creato, in questo modo:

seasonings = [ ] seasonings.append(herbs) .......

Una volta raggruppati tutti gli elementi nell'Elenco Annidato, cammina verso il segno a X scuro sul tappeto verde e rivolgi lo sguardo alla mensola. Utilizza la funzione speak() in combinazione con l'elenco annidato seasonings per verificare gli oggetti presenti su ogni ripiano. Successivamente, usa la funzione place() con l'elenco per completare il livello, in questo modo: player.speak(seasonings).

Libro del Codice