Curso de Desarrollo en Python
Capítulo
>
Nivel

Uso de diccionarios
Iterando sobre diccionarios

Objetivo

Recupera todos los materiales en el campo y realiza un inventario de todos los objetos recolectados antes de guardarlos en contenedores específicos.

Una tormenta destrozó el puesto avanzado junto al puente esparciendo materiales por todas partes, estoy seguro de que esos materiales pueden ser reutilizados más adelante. Realiza un inventario de cada uno de los objetos que recojas y guárdalos en el almacén al otro lado del puente.

Primero recoge todos los escombros esparcidos en el campo, siendo estos: "branches" ,"boulders" y "planks" . Una vez que hayas recogido todos los objetos, colócalos en un diccionario llamado materials y añade los tres (3) nombres de material y sus cantidades dentro de él.

materials = {} materials["branches"] = number of branches collected ......

Una vez que todo esté dentro de un diccionario, dirígete hacia la marca de luz X y realiza un inventario de todos los materiales que has recogido utilizando un bucle for con la función speak(). Dado que los diccionarios son diferentes de las listas, no puedes iterar a través de ellos en secuencia de la misma manera, en cambio, los diccionarios tienen su propio método para hacerlo.

for name, number in materials.items(): player.speak("There were %d %s collected" % ( number, name))

Al establecer dos variables, en este caso name y number, puedes obtener los dos campos de un diccionario. Utilizando la instrucción in seguida del nombre del diccionario y la función items() puedes iterar sobre el diccionario como en un bucle for normal.

Después de realizar el inventario, camina hacia las marcas oscuras X y coloca los materiales que has recolectado en el diccionario dentro de contenedores utilizando la función place(), de la siguiente manera: player.place(materials["branches"]). Hay tres (3) marcas oscuras X, en el contenedor de la izquierda coloca los "branches", en el contenedor del medio coloca los "boulders" y en el contenedor de la derecha coloca los "planks". Coloca todo en la posición correcta para completar el nivel.

Libro de Código