Coding for KidsCoding for Kids
Niveles CreativosDesafíosGuía del Maestro
Votar por funciones
Curso Avanzado de Desarrollo en Python
Capítulo
>
Nivel

Listas Avanzadas
Modificando una Matriz

Objetivo

Recoge y almacena botellas de vino en la estantería modificando una Matriz.

Hay varias botellas de vino que necesitan ser almacenadas en una estantería de vinos. Sin embargo, ya hay varias botellas almacenadas en la estantería, por lo que los elementos deben colocarse en ubicaciones específicas para ser guardados.

Las botellas en el estante se almacenan en una Matriz, un tipo de Lista Anidada. Las matrices son Listas Anidadas en las que cada elemento es una lista con la misma longitud, lo que crea una especie de cuadrícula donde los elementos se dividen en filas y columnas. Por ejemplo:

matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [0, 0, 0] ]

En el código anterior tenemos una Matriz con tres (3) columnas y cuatro (4) filas. Para acceder a un elemento dentro de la Matriz, lo único que necesitas hacer es indicar la fila y la columna donde se encuentra el elemento, similar a cómo accederías a los elementos de una lista estándar, pero con dos entradas en lugar de una. Por ejemplo, basándonos en el código anterior: matrix[0][0] = 1 , matrix[0][1] = 2 , matrix[1][0] = 4 , etc.

Hay cuatro (4) tipos diferentes de botellas de vino en la bodega, a saber: "purple bottle" , "green bottle" , "blue bottle" , "yellow bottle". Recoge todas las botellas en el campo para que puedan almacenarse en la estantería.

También hay botellas almacenadas dentro de cajas. Camina hacia las marcas de la X iluminada y utiliza la función collect() mientras te enfrentas a las cajas para recoger las botellas. Existen dos constantes que contienen el contenido de las cajas: lower_crate y upper_crate. Sus nombres corresponden a su posición en el mapa y se utilizan de la siguiente manera: player.collect(lower_crate) .

Una vez que hayas recogido todas las botellas, coloca la cantidad de botellas que has recogido para cada tipo en variables, que son: purple_bottle , green_bottle , blue_bottle , yellow_bottle . Luego, camina hacia la X dorada y enfréntate a la estantería de vinos.

En el editor de código se mostrará una Matriz llamada wine_rack, busca los elementos en la Matriz que tienen 0 como valor y agrega las botellas que has recogido a esos valores. La Matriz tendrá el color de la botella que debe agregarse delineado en cada fila. Para agregar un nuevo elemento a la Matriz, escribe la fila y la columna donde deseas que se coloque el valor, por ejemplo: wine_rack[0][1] = purple_bottle .

Recuerda que todas las posiciones de las listas comienzan en 0, una vez que todos los elementos hayan sido agregados a la Matriz y ésta esté completa. Utiliza la función place() seguida de la función speak() en la X dorada con el nombre de la Matriz para confirmar su valor y completar el nivel, de esta manera: player.place(wine_rack) , player.speak(wine_rack).

Libro de Código