Coding for KidsCoding for Kids
Níveis CriativosDesafiosGuia do Professor
Votar em funcionalidades
Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível

Decoradores
Usando Decoradores

Funções personalizadas têm uma ampla variedade de usos, no entanto, às vezes você pode querer adicionar funcionalidades adicionais a uma função já existente. Isso é chamado de decorator, que é uma função projetada para aumentar uma função existente, daí o nome.

Para este nível, os fornos precisam estar preparados para que fiquem prontos para o preparo dos alimentos. Use decorators para open() e close() entre carregar lenha nos fornos.

Guide

Objetivo

Preencha os fornos com lenha e prepare-os para cozinhar utilizando decorators.

Os fornos de tijolo precisam ser preparados para que você possa assar a comida para mais tarde à noite. Os fornos estão desligados e vazios e requerem lenha para serem acesos. Pegue alguma lenha e carregue-a nos fornos para que você possa começar a cozinhar. Embora você possa fazer isso manualmente ou utilizando uma função personalizada, o processo pode ser agilizado usando decorators.

Decorators são complementos que podem ser adicionados a uma função personalizada a fim de ampliar sua funcionalidade sob demanda sem a necessidade de complicá-la com condições.

# 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)

Caminhe até o depósito no final do mapa e colete os quatro (4) feixes de toras. Caminhe até a marca de X dourada e use a função read() para verificar o memorando na barra que exibe as temperaturas que os fornos devem ser ajustados. Anote as informações na janela pop-up, pois você precisará delas mais tarde.

Em seguida, caminhe até as marcas de X claras próximas ao forno e use a função decorada para posicionar a lenha, assim: prep_oven(). Ao colocar a lenha no forno, caminhe até as marcas de X escuras nos tapetes coloridos e use a função assíncrona question() para definir a temperatura dos fornos.

A função de suporte será configurada previamente, chamada set_temperature(), e sua resposta à pergunta determinará se a temperatura será configurada para High ou para Medium. Defina a temperatura escrevendo a função e respondendo à pergunta com o memorando que você leu anteriormente, com cada temperatura configurada de acordo com o tapete colorido correspondente. Lembre-se de usar await ao utilizar funções assíncronas, assim: await set_temperature()

Uma vez que você preparar e ajustar os quatro (4) fornos, você terá completado o nível.

Livro de Código