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

Funciones Avanzadas
Funciones Polimórficas

En este capítulo vamos a explorar nuevos tipos de funciones, varios usos para ellas y cómo aprovecharlas al máximo al programar en Python.

En este nivel comenzamos con funciones polimórficas, que son funciones que pueden utilizarse con una variedad de tipos de datos diferentes. Es como usar la misma función para hacer distintas cosas, una función universal.

Guide

Objetivo

Revisa el estado de los cultivos y los lechones, y confirma los envíos de suministros utilizando funciones polimórficas.

Muy pronto debería haber algunos cultivos que necesitan ser cosechados para que puedan ser enviados y vendidos. Los lechones también necesitan que se les entregue alimento, sería buena idea ver cuánto alimento se debe ordenar. Para lograr estas tareas puedes utilizar funciones polimórficas, en este caso usaremos la función len().

Las funciones polimórficas son funciones que pueden utilizarse con múltiples tipos de datos. Por ejemplo, la función len() es una función utilizada para calcular la longitud de objetos, estos objetos pueden ser de diferentes tipos de datos como listas, diccionarios e incluso cadenas de texto. Comienza contando el total en las marcas X inferiores en el campo antes de pasar a las marcas X superiores en el cobertizo.

Hay varios lechones dentro de un corral junto a la carretera, sus nombres son "Peggle", "Peter", "Piper", "Pedro"; coloca sus nombres en una lista para que puedas contarlos. Así: piglets = ["Peggle", "Peter", "Piper", "Pedro"]. Crea una variable llamada number para almacenar la longitud de la lista utilizando la función len(), de esta manera: number = len(piglets).

Una vez que hayas configurado la lista y la variable, camina hacia la marca X oscura frente al corral de lechones, enfréntate al corral y utiliza la función speak() para contar los lechones usando la función speak(). Usa la variable number para obtener el resultado, de esta forma: player.speak("There are d% Piglets" % (number) )

Después de haber verificado con los lechones, camina hacia la marca X clara junto al campo, enfréntate a los cultivos y cuéntalos. Hay tres (3) tipos diferentes de cultivos: "Tomatoes", "Pumpkins", "Eggplant". Cuenta cuántos cultivos de cada uno están creciendo y almacénalos dentro de un diccionario, de la siguiente manera:

crops = {} crops["Tomato"] = number of tomato crops crops["Pumpkin"] = number of Pumpkin crops crops["Eggplant"] = number of Eggplant crops

Una vez que hayas poblado el diccionario con los valores adecuados, utiliza la función speak() en conjunto con la función len() para contar la cantidad de cultivos disponibles, de esta manera: player.speak("There are d% types of crops" % ( len(crops) ) ) .

Una vez que hayas contado tanto los lechones como los cultivos, camina hacia la marca X oscura sobre la esterilla morada para revisar los pedidos de cultivos que deben ser enviados. Existe una constante de variable llamada order que contiene una cadena con los pedidos de cultivos que deben ser enviados. Necesitamos saber cuáles son los pedidos y cuántos hay, podemos hacer esto utilizando la función speak() y desempacando la cadena además de utilizar la función len().

player.speak( [*order] ) player.speak("There are d% orders of crops going out" % ( len(order) ) )

Al poner la variable de cadena dentro de corchetes y un *, podemos activar un operador para desempacar la cadena, por ejemplo: [*string]. Lo que esto hace es tomar una cadena y separar cada carácter individual colocándolo en una lista, un ejemplo es: [*string] producirá una lista ['s', 't', 'r', 'i', 'n', 'g']. En el caso de utilizar len() en una cadena, contará cuántos caracteres tiene la cadena.

Para concluir el ejercicio, camina hacia la marca X dorada en el lado derecho del cobertizo, y determina cuántas libras de alimento deben ser entregadas para los lechones. Crea una variable llamada food, como valor, usa la variable number que creaste anteriormente y multiplícala por 35 para determinar la cantidad de libras, de esta manera: food = number * 35.

Mientras estás frente al cobertizo, utiliza la función speak() en conjunto con la variable food para determinar la cantidad de alimento que se está entregando, de esta forma: player.speak("There are d% pounds of food coming in" % (food) ) .

Libro de Código