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 на зеленому килимі та підійдіть до знака. Використовуйте функцію greater_than() із об’єктом порівняння для запису співвідношення ваг бочок, ось так: greater_than(green_barrel_compare) .

Підіть до темних та світлих позначок X на синьому килимі та повторіть той же процес. Використовуйте функцію read() для темних і світлих позначок і створіть відповідні об’єкти з цією інформацією. Для об’єкта порівняння на синьому килимі цього разу ми використаємо оператор ==, щоб перевірити, чи має темна бочка таку ж вагу, як світла. Підіть до золотої позначки X на синьому килимі та підійдіть до знака. Використовуйте функцію equal_to() із об’єктом порівняння для відображення співвідношення ваг бочок, ось так: equal_to(blue_barrel_compare) .

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

Книга Коду