Coding for KidsCoding for Kids
Creatieve LevelsUitdagingenLerarengids
Stem op functies
Gevorderde Python-ontwikkelingscursus
Hoofdstuk
>
Niveau

Decoratoren
Decorators gebruiken

Aangepaste functies hebben een breed scala aan toepassingen, maar soms wil je misschien extra functionaliteit toevoegen aan een reeds bestaande functie. Dit wordt een decorator genoemd, een functie die is ontworpen om een bestaande functie te verrijken, vandaar de naam.

Voor dit level moeten de ovens worden voorbereid om ze klaar te maken voor voedselbereiding. Gebruik decorators om open() en close() uit te voeren tussen het inladen van brandhout in de ovens.

Guide

Doelstelling

Vul ovens met brandhout en stel de ovens in zodat ze klaar zijn voor het koken door gebruik te maken van decorateurs.

De bakstenen ovens moeten klaargemaakt worden zodat je voedsel kunt bakken voor later op de avond. De ovens zijn uitgeschakeld en leeg en hebben wat brandhout nodig om aangestoken te worden. Pak wat brandhout en laadt het in de ovens zodat je kunt beginnen met koken. Hoewel je dit handmatig kunt doen of door gebruik te maken van een aangepaste functie, kan het proces worden versneld door het gebruik van decorateurs.

Decorateurs zijn toevoegingen die aan een aangepaste functie kunnen worden toegevoegd om de functionaliteit naar behoefte uit te breiden zonder deze te ingewikkeld te maken met voorwaarden.

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

Loop naar de voorraadkamer onderaan de kaart en verzamel alle vier (4) stapels houtblokken. Loop naar het gouden X-teken en gebruik de read() functie om de aantekening op de balk te bekijken die aangeeft op welke temperaturen de ovens moeten worden ingesteld. Noteer de informatie in de pop-up, want je hebt deze later nodig.

Ga vervolgens naar de lichte X-tekens bij de oven en gebruik de gedecoreerde functie om het brandhout te plaatsen, zoals: prep_oven(). Terwijl je het brandhout in de oven plaatst, loop je naar de donkere X-tekens op de gekleurde tapijten en gebruik je de question() async functie om de temperatuur van de ovens in te stellen.

De ondersteunende functie wordt van tevoren ingesteld en heet set_temperature(), en jouw antwoord op de vraag bepaalt of de temperatuur wordt ingesteld op High of op Medium. Stel de temperatuur in door de functie te schrijven en de vraag te beantwoorden met de aantekening die je eerder hebt gelezen, waarbij elke temperatuur wordt ingesteld volgens het bijbehorende gekleurde tapijt. Vergeet niet await te gebruiken bij async functies, zoals: await set_temperature()

Zodra je alle vier (4) ovens hebt voorbereid en ingesteld, heb je het level voltooid.

Codeboek