Coding for KidsCoding for Kids
Творческие УровниИспытанияРуководство для Учителей
Голосовать за функции
Продвинутый курс разработки на Python
Глава
>
Уровень

Продвинутые функции
Полиморфные функции

В этой главе мы познакомимся с новыми типами функций, их разнообразным применением и тем, как максимально эффективно использовать их при программировании на Python.

На этом уровне мы начинаем с полиморфных функций — функций, которые могут применяться к различным типам данных. Это как использование одной и той же функции для выполнения разных задач, универсальной функции.

Guide

Цель

Проверьте состояние урожаев и поросят, а также подтвердите поставки с использованием полиморфных функций.

Скоро появятся урожаи, которые необходимо собрать, чтобы их можно было отправить на продажу. Поросятам также нужна доставка корма, поэтому стоит выяснить, сколько корма нужно заказать. Для выполнения этих задач можно использовать полиморфные функции, в данном случае мы будем использовать функцию len().

Полиморфные функции — это функции, которые могут работать с различными типами данных. Например, функция len() используется для вычисления длины объектов, при этом объекты могут быть разными типами, такими как списки, словари и даже строки. Начните с подсчета количества более низких отметок X в поле, прежде чем перейти к более высоким отметкам X в сарае.

В загоне у дороги находится несколько поросят, их имена: "Peggle", "Peter", "Piper", "Pedro". Поместите их имена в список, чтобы вы могли их подсчитать. Например: piglets = ["Peggle", "Peter", "Piper", "Pedro"]. Создайте переменную с именем number для хранения длины списка, используя функцию len(), вот так: number = len(piglets).

После того как вы создадите список и переменную, подойдите к темной отметке X перед загоном поросят, повернитесь к загону и используйте функцию speak для подсчета поросят с помощью функции speak(). Используйте переменную number для получения результата, вот так: player.speak("There are d% Piglets" % (number) )

После того как вы закончите проверку поросят, подойдите к светлой отметке X возле поля, повернитесь к урожаю и посчитайте их. Существует три (3) различных типа урожаев: "Tomatoes", "Pumpkins", "Eggplant". Подсчитайте, сколько растений каждого типа растет, и сохраните результаты в словаре, как показано ниже:

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

После того как вы заполните словарь правильными значениями, используйте функцию speak() вместе с функцией len() для подсчета количества доступных типов урожаев, вот так: player.speak("There are d% types of crops" % ( len(crops) ) ).

После того как вы подсчитаете и поросят, и урожаи, подойдите к темной отметке X на фиолетовом коврике, чтобы проверить заказы на отправку урожаев. Существует константа-переменная с именем order, которая содержит строку с заказами на отправку урожаев. Нам нужно выяснить, какие заказы и сколько их, мы можем сделать это, используя функцию speak() и распаковку строки, а также функцию len().

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

Поместив строковую переменную в квадратные скобки и добавив *, мы активируем оператор распаковки строки, например: [*string]. Это означает, что строка разбивается на отдельные символы, помещаясь их в список, например, [*string] выдаст список ['s', 't', 'r', 'i', 'n', 'g']. При использовании len() для строки будет подсчитано, сколько символов содержит строка.

В завершение упражнения подойдите к золотой отметке X с правой стороны сарая и определите, сколько фунтов корма необходимо доставить для поросят. Создайте переменную с именем food, в которой в качестве значения используйте ранее созданную переменную number, умноженную на 35, чтобы определить количество фунтов, вот так: food = number * 35.

Стоя перед сараем, используйте функцию speak() вместе с переменной food для определения количества доставляемого корма, вот так: player.speak("There are d% pounds of food coming in" % (food) ).

Книга Кода