Coding for KidsCoding for Kids
Níveis CriativosDesafiosGuia do Professor
Votar em funcionalidades
Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível

Funções Avançadas
Funções Polimórficas

Neste capítulo vamos explorar novos tipos de funções, diversos usos para elas e como aproveitá-las ao máximo ao programar em Python.

Neste nível começamos com funções polimórficas, que são funções que podem ser utilizadas com uma variedade de tipos de dados. Isso é como usar a mesma função para fazer coisas diferentes, uma função universal.

Guide

Objetivo

Verifique o status das culturas e dos leitões, e confirme os envios de suprimentos usando funções polimórficas.

Muito em breve haverá algumas culturas que precisarão ser colhidas para serem enviadas para venda. Os leitões também precisam que se entregue alimento; seria uma boa ideia verificar quanto alimento precisa ser encomendado. Para realizar essas tarefas, você pode usar funções polimórficas; neste caso, estaremos utilizando a função len().

Funções polimórficas são funções que podem ser usadas com diferentes tipos de dados. Por exemplo, a função len() é utilizada para calcular o comprimento de objetos; esses objetos podem ser de diferentes tipos, como listas, dicionários e até strings. Comece contando os X minúsculos no campo antes de passar para os X maiúsculos no galpão.

Há vários leitões dentro de um cercado próximo à estrada, e os nomes deles são "Peggle", "Peter", "Piper", "Pedro"; coloque os nomes em uma lista para que você possa contá-los. Assim: piglets = ["Peggle", "Peter", "Piper", "Pedro"]. Crie uma variável chamada number para armazenar o comprimento da lista usando a função len(), assim: number = len(piglets).

Depois de configurar a lista e a variável, caminhe até o X escuro em frente ao cercado dos leitões, vire-se para o cercado e use a função speak() para contar os leitões. Use a variável number para obter o resultado, assim: player.speak("There are d% Piglets" % (number) ).

Após verificar os leitões, caminhe até o X claro perto do campo, vire-se para as culturas e conte-as. Há três (3) tipos diferentes de culturas: "Tomatoes", "Pumpkins", "Eggplant". Conte quantas culturas estão crescendo de cada tipo e armazene-as em um dicionário, assim:

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

Depois de preencher o dicionário com os valores corretos, use a função speak() em conjunto com a função len() para contar o número de tipos de culturas disponíveis, assim: player.speak("There are d% types of crops" % ( len(crops) ) ).

Depois de contar tanto os leitões quanto as culturas, caminhe até o X escuro no tapete roxo para verificar os pedidos de culturas a serem enviados. Existe uma constante chamada variável order que contém uma string com os pedidos das culturas que precisam ser enviadas. Precisamos descobrir quais são os pedidos e quantos pedidos temos, e para isso podemos usar a função speak() ao desembrulhar a string, além da função len().

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

Ao colocar a variável string dentro de colchetes e um *, ativamos um operador para desembrulhar a string; por exemplo: [*string]. Isso separa uma string em caracteres individuais, colocando-os em uma lista. Por exemplo, [*string] produzirá uma lista: ['s', 't', 'r', 'i', 'n', 'g']. No caso de usar len() em uma string, ela contará quantos caracteres a string possui.

Para concluir o exercício, caminhe até o X dourado no lado direito do galpão e determine quantas libras de alimento precisam ser entregues para os leitões. Crie uma variável chamada food; como valor, use a variável number que você criou anteriormente e multiplique-a por 35 para determinar a quantidade de libras, assim: food = number * 35.

Enquanto estiver de frente para o galpão, use a função speak() em conjunto com a variável food para determinar a quantidade de alimento que será entregue, assim: player.speak("There are d% pounds of food coming in" % (food) ).

Livro de Código