Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível
Listas Avançadas
Modificando uma Matriz
Objetivo
Colete e armazene garrafas de vinho no suporte de vinhos modificando uma Matriz.
Existem várias garrafas de vinho que precisam ser armazenadas em um suporte de vinhos. No entanto, já há várias garrafas armazenadas no suporte, e os itens precisam ser colocados em locais específicos para serem guardados.
As garrafas no suporte estão armazenadas em uma Matriz, um tipo de Lista Aninhada. Matrizes são Listas Aninhadas onde cada item é uma lista com exatamente o mesmo tamanho, o que cria uma espécie de grade onde os itens ficam divididos em linhas e colunas. Por exemplo:
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [0, 0, 0] ]
No código acima, temos uma Matriz com três (3) colunas e quatro (4) linhas. Para acessar um item dentro da Matriz, basta informar a linha e a coluna onde o item está localizado, de forma semelhante a como você acessaria itens em uma lista padrão, mas com duas entradas ao invés de uma. Por exemplo, com base no código acima: matrix[0][0] = 1 , matrix[0][1] = 2 , matrix[1][0] = 4 , etc.
Existem quatro (4) tipos diferentes de garrafas de vinho na adega, a saber: "purple bottle" , "green bottle" , "blue bottle" , "yellow bottle". Pegue todas as garrafas no campo para que possam ser armazenadas no suporte.
Também há garrafas armazenadas dentro de caixas. Caminhe até as marcações de luz X e use a função collect() enquanto estiver de frente para as caixas para pegar as garrafas. Existem duas constantes que contêm o conteúdo das caixas: lower_crate e upper_crate. Seus nomes correspondem à posição no mapa e são usados da seguinte forma: player.collect(lower_crate) .
Após todas as garrafas terem sido coletadas, coloque o número de garrafas que você coletou para cada tipo em variáveis, sendo elas: purple_bottle , green_bottle , blue_bottle , yellow_bottle . Em seguida, caminhe até a marca dourada X e fique de frente para o suporte de vinhos.
No editor de código, uma Matriz chamada wine_rack será exibida. Procure os itens na Matriz que possuem 0 como valor e adicione as garrafas que você coletou a esses valores. A Matriz terá a cor da garrafa que precisa ser adicionada destacada em cada linha. Para adicionar um novo item à Matriz, digite a linha e a coluna onde você deseja que o valor seja colocado, por exemplo: wine_rack[0][1] = purple_bottle .
Lembre-se de que todas as posições das listas começam em 0. Depois que todos os itens forem adicionados à Matriz e ela estiver completa, use a função place() seguida da função speak() na marca dourada X com o nome da Matriz para verificar seu valor e completar o nível, assim: player.place(wine_rack) , player.speak(wine_rack).