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

Продвинутые классы
Перегрузка операций сравнения

Цель

Проверьте и правильно пометьте отправления, используя перегрузку операторов сравнения.

На терминале отправки есть несколько винных бочек, которые готовы к отправке в магазины. Однако их необходимо промаркировать и подготовить так, чтобы рабочие могли легко их выбрать и отправить без проблем. Для этого вы должны использовать перегрузку операторов сравнения, аналогичную изученной в предыдущей главе перегрузке операторов; вам нужно перегрузить класс, но на этот раз с помощью операторов сравнения.

На терминале находятся три (3) заказа, каждый из которых содержит две (2) бочки. Каждый заказ имеет табличку, предназначенную для отображения соотношения весов бочек в заказе. В редакторе описан класс с именем barrel, который позволяет использовать перегрузку операторов сравнения. Также в редакторе настроены три (3) функции: less_than(), greater_than(), equal_to(), которые используются для отображения соотношения весов на табличках.

Начните с того, что пройдите к темным и светлым отметкам X на красных коврах и обратитесь к бочкам. Используйте функцию read() для определения названия вина в бочке, а также веса бочки, например так: await player.read(). Создайте объекты для темной и светлой бочек, используя класс barrel, и добавьте информацию, полученную с функции read(). После того, как объекты созданы, создайте еще один объект, который будет сравнивать оба объекта. Например:

red_barrel_dark = barrel("Wine name", 000) red_barrel_light = barrel("Wine name", 000) red_barrel_compare = red_barrel_dark < red_barrel_light

Обязательно введите название вина в объекте класса barrel точно так, как оно отображается в сообщении при использовании функции read().

Создайте объекты, используя соглашения об именовании в соответствии с ковром и цветовой отметкой X. Для красного ковра при сравнении бочек используйте оператор <, чтобы проверить, имеет ли темная бочка меньший вес, чем светлая. Чтобы завершить этот этап, пройдите к золотой отметке X на красном ковре и обратитесь к табличке. Используйте функцию less_than() с объектом сравнения, чтобы отобразить соотношение весов бочек, например так: less_than(red_barrel_compare).

Далее пройдите к темной и светлой отметкам X на зеленом ковре и повторите тот же процесс. Используйте функцию read() для темной и светлой отметок X и создайте соответствующие объекты с этой информацией. Для объекта сравнения на зеленом ковре на этот раз мы будем использовать оператор > для проверки, больше ли вес темной бочки по сравнению со светлой. Пройдите к золотой отметке X на зеленом ковре и обратитесь к табличке. Используйте функцию greater_than() с объектом сравнения, чтобы отобразить соотношение весов бочек, например так: greater_than(green_barrel_compare).

Пройдите к темной и светлой отметкам X на синем ковре и повторите тот же процесс. Используйте функцию read() для темной и светлой отметок X и создайте соответствующие объекты с этой информацией. Для объекта сравнения на синем ковре на этот раз мы будем использовать оператор == для проверки, равен ли вес темной бочки весу светлой бочки. Пройдите к золотой отметке X на синем ковре и обратитесь к табличке. Используйте функцию equal_to() с объектом сравнения, чтобы отобразить соотношение весов бочек, например так: equal_to(blue_barrel_compare).

После того, как все заказы будут промаркированы, пройдите к золотой отметке X на оранжевом ковре у выхода из дока. Обратитесь к табличке и используйте функцию write(), чтобы записать, что находится в каждом заказе. Запишите названия каждой из бочек в соответствии с созданными объектами, например, для бочек красного ковра: red_barrel_dark.name , red_barrel_light.name. Сделайте это для всех шести бочек, чтобы завершить уровень.

Книга Кода