Curso de Desarrollo en Python
Capítulo
>
Nivel

Uso de diccionarios
Funciones personalizadas usando diccionarios

Objetivo

Utiliza una función personalizada que itere a través del campo, plantando y regando los cultivos.

El campo tiene varios árboles que necesitan ser plantados, toma la bolsa que contiene las semillas y luego recarga tu agua en el pozo. Usa una función personalizada con un diccionario para recorrer el campo y plantar, luego riega las semillas.

Toma la bolsa de semillas, la cual te otorgará las siguientes semillas de árbol en un diccionario: "orange : 3" , "pear : 4" , "apple : 3" , "peach : 2" . Camina hacia la marca en forma de X iluminada junto al pozo y utiliza la función collect() para recoger agua, de la siguiente manera: player.collect("water") .

Una vez que recolectes todos los materiales necesarios, crea una función personalizada llamada sow_field usando las semillas y el agua para plantar e irrigar el campo. La función personalizada tomará tres (3) argumentos, a saber: tree, loops y direction. Utilizando estos argumentos, la función ejecutará un ciclo for para regar el campo.

def sow_field(tree,loops,direction): for x in range(loops): if direction == "right": player.move_forward(2) player.turn_left() player.plant(seeds,tree) player.water() player.turn_right() player.move_forward() if direction == "left": player.move_forward() player.turn_right() player.plant(seeds,tree) player.water() player.turn_left() player.move_forward(2)

El primer argumento, tree, es el nombre de la clave utilizada en el diccionario, siendo estas: "orange", "pear", "apple" y "peach". Selecciona el nombre adecuado al plantar.

El siguiente argumento es loops, el cual determina la cantidad de ciclos que deseas que ejecute la función. Este número es igual a la cantidad de semillas de cada tipo en el campo. El último argumento es direction, que puede ser "left" o "right", elige hacia qué dirección deseas que se mueva el jugador cuando se ejecute el ciclo.

Dirígete a la parte superior del mapa después de recoger el agua y utiliza la función personalizada, de la siguiente manera: sow_field("orange", 3, "right"). Haz esto para todas las semillas de árbol con el fin de completar el nivel.

Libro de Código