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

Продвинутые списки
Сортировка множеств

Цель

Организуйте и приготовьте блюда, используя множества для сортировки и составления ингредиентов.

Хорошей идеей будет начать готовить еду: в холодильнике находятся несколько ингредиентов, завернутых в упаковку, а также некоторые травы, которые можно использовать для придания вкуса блюду. Все материалы хранятся в списках, поэтому разумно использовать множества для объединения элементов и максимального использования возможностей вашей кулинарии.

Существует три (3) константы списка: две (2) из них — мясо, с именами: pack1 и pack2, и одна (1) — кулинарные материалы, с именем ingredients. Подойдите к темной метке с крестиком на оранжевом ковре и повернитесь к холодильнику, используйте функцию collect(), чтобы забрать pack1 и pack2 из холодильника, например: player.collect(pack1).

После того, как мясо собрано, подойдите к светлой метке с крестиком и повернитесь к разделочной доске; здесь мы проверим содержимое упаковок, используя функцию speak() с обеими константами списка, которые вы собрали. Отсюда мы будем консолидировать элементы с использованием множеств, как и на предыдущем уровне. Создайте два множества с именами set1 и set2 и, используя функцию set(), присвойте им pack1 и pack2, например: set1 = set(pack1).

После того как списки объединены в множества, наступает время сортировки и разделения элементов на более мелкие множества для удобства.

Первый метод для этого называется systemic_difference, он позволит нам отделить элементы, которые не являются общими для каждого множества. Создайте множество с именем unique и используйте два множества для сравнения и выявления уникальных элементов с помощью systemic_difference, например так: unique = set1.symmetric_difference(set2). Используйте метод speak() с созданным множеством, чтобы подтвердить его содержимое.

Продолжите сортировку, создав множество с именем shared и применив метод intersection, изученный на предыдущем уровне, для определения элементов, присутствующих в обоих множествах. Используйте два множества для сравнения и выявления элементов, например так: shared = set1.intersection(set2). Используйте метод speak() с созданным множеством, чтобы подтвердить его содержимое.

Наконец, используйте метод под названием difference, который позволит нам отделить элементы, встречающиеся только в одном множестве, а не в другом. Создайте два (2) множества с именами meat1 и meat2, и используйте два исходных множества для сравнения и определения элементов с помощью difference, например так: meat1 = set1.difference(set2) и meat2 = set2.difference(set1). Используйте метод speak() с обоими созданными мясными множествами, чтобы подтвердить содержимое каждого из них.

После того как мясо отсортировано, подойдите к темной метке с крестиком над синим ковром, повернитесь к холодильнику и используйте функцию place(), чтобы убрать созданное множество shared, например так: player.place(shared). Таким образом, вы уберете ингредиенты, которые не будете использовать для готовки.

Подойдите к золотой метке с крестиком, повернитесь к шкафу и используйте функцию collect(), чтобы забрать последнюю константу списка с именем ingredients, а затем используйте функцию speak(), чтобы подтвердить его содержимое. Перенесите элементы из ingredients в новое множество с именем set3. Теперь, когда у вас есть все ингредиенты, создайте два множества с именами meal1 и meal2, используя метод union для объединения всех необходимых элементов для приготовления.

Для meal1 объедините set3 и meat1, например так: meal1 = set3.union(meat1). Подойдите к темной метке с крестиком на пурпурном ковре и, используя множество meal1, используйте функцию speak() для подтверждения содержимого, а затем функцию place(), чтобы приготовить блюдо в горшке.

Для meal2 сделайте то же самое, но вместо этого используйте метод union с set3 и meat2. Подойдите к темной метке с крестиком на желтом ковре и повернитесь к горшку, используйте функции speak() и place() с meal2, чтобы завершить уровень.

Книга Кода