Coding for KidsCoding for Kids
Креативні РівніВикликиПосібник для Вчителів
Голосувати за функції
Поглиблений курс розробки на Python
Розділ
>
Рівень

Декоратори
Використання декораторів

Користувацькі функції мають широкий спектр використання, однак іноді вам може знадобитися додати додатковий функціонал до вже існуючої функції. Це називається декоратором, тобто функцією, створеною для розширення функціональності вже існуючої функції, звідси й назва.

Для цього рівня необхідно підготувати печі, щоб вони були готові до приготування їжі. Використовуйте декоратори, щоб викликати open() і close() під час завантаження дров у печі.

Guide

Мета

Заповніть печі дровами і налаштуйте їх для приготування їжі, використовуючи декоратори.

Печі з цегли потрібно підготувати, щоб пізніше ввечері ви могли запікати їжу. Печі вимкнені і порожні, і для їх розпалювання необхідні дрова. Візьміть дрова і завантажте їх у печі, щоб почати приготування. Ви можете зробити це вручну або за допомогою користувацької функції, проте процес можна прискорити, використовуючи декоратори.

Декоратори – це додатки, які можна додати до користувацької функції, щоб розширити її функціональність за потребою без необхідності ускладнювати її умовами.

# Decorator, adds extra functionality to another function def load_wood(func): def load(): player.open() func() player.close() return load # Custom function that can be decorated def add_wood(): player.place("firewood") player.speak("Three logs placed in oven") # Decorate the custom function prep_oven = load_wood(add_wood)

Пройдіть до комори в нижній частині карти та зберіть усі чотири (4) пакунки дров. Йдіть до золотої позначки X та використайте функцію read() для перевірки записки на табло, яка показує, при яких температурах мають бути налаштовані печі. Зверніть увагу на інформацію у спливаючому вікні, адже вона вам знадобиться пізніше.

Після цього пройдіть до світлих позначок X біля печі та використайте декоровану функцію для завантаження дров, наприклад: prep_oven(). Поки ви завантажуєте дрова в піч, пройдіть до темних позначок X на кольорових килимах і використайте async-функцію question() для встановлення температури печей.

Підтримуюча функція буде попередньо налаштована і названа set_temperature(), а ваша відповідь на запитання визначить, чи буде температура встановлена на High або на Medium. Встановіть температуру, написавши функцію та відповівши на запитання із запискою, яку ви прочитали раніше, при цьому кожна температура встановлюється відповідно до відповідного кольору килимка. Не забудьте використовувати await при виклику async-функцій, як це: await set_temperature()

Як тільки ви підготуєте та налаштуєте всі чотири (4) печі, рівень буде пройдено.

Книга Коду