Coding for KidsCoding for Kids
Níveis CriativosDesafiosGuia do Professor
Votar em funcionalidades
Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível

Listas Avançadas
Criando uma Lista Aninhada

Objetivo

Armazene os temperos corretamente na prateleira de especiarias usando listas aninhadas.

Um dos racks de especiarias está vazio e precisa ser reabastecido adequadamente; há temperos no estoque, mas eles precisam ser acomodados, organizados e colocados corretamente na prateleira de especiarias.

Devido à grande quantidade de itens e ao fato de estarem armazenados em diferentes prateleiras dentro do rack, listas e dicionários normais não serão suficientes. Para situações como essa, você pode usar Listas Aninhadas, que são listas que contêm uma ou mais listas dentro delas.

Para armazenar os temperos, primeiro você precisa pegar os frascos para armazenar os itens corretamente. Caminhe até a marca X dourada, vire-se para a caixa e use a função collect() para pegar o "empty jar" a fim de facilitar o armazenamento.

Depois de coletar os frascos, caminhe até as marcas X claras em frente às caixas de madeira. Há quatro (4) constantes de listas presentes neste nível, uma para cada caixa, que são: crate1, crate2, crate3 e crate4. Use a função speak() com essas constantes de listas para determinar o conteúdo de cada caixa; as constantes correspondem às caixas da direita para a esquerda, por exemplo, player.speak(crate1).

Depois de determinar o conteúdo das caixas, utilize List Comprehensions para criar novas listas sem os itens desnecessários encontrados dentro das constantes de lista. Se o conteúdo de uma caixa incluir: "package", "string" ou "stuffing", use a mesma fórmula do capítulo anterior para curar as listas, por exemplo:

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

O código acima criará uma nova lista com itens que não incluem a palavra "string". As listas devem ser nomeadas: herbs, spices, salts e sugars; você saberá qual lista deve ser nomeada dessa forma porque os itens dentro das listas carregam o nome.

Depois que todas as quatro listas forem criadas, é hora de combiná-las em uma Lista Aninhada. Crie uma lista chamada seasonings e adicione as listas que você criou dentro da nova lista, assim:

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

Depois que todos os itens estiverem reunidos na Lista Aninhada, caminhe até a marca X escura no tapete verde e vire-se para a prateleira. Use a função speak() em conjunto com a lista aninhada seasonings para afirmar os itens em cada prateleira. Em seguida, use a função place() com a lista para completar o nível, assim: player.speak(seasonings).

Livro de Código