Cours de développement Python avancé
Chapitre 6
>
Niveau 1
Les fonctions personnalisĂ©es ont une large gamme d'utilisations, mais parfois vous pouvez vouloir ajouter des fonctionnalitĂ©s supplĂ©mentaires Ă une fonction prĂ©existante. Cela s'appelle un dĂ©corateur, c'est une fonction conçue pour augmenter une fonction existante, d'oĂč son nom.
Pour ce niveau, les fours doivent ĂȘtre prĂ©parĂ©s afin de les rendre prĂȘts pour la prĂ©paration des aliments. Utilisez des dĂ©corateurs pour open() et close() entre le chargement du bois de chauffage dans les fours.

Objectif
Remplissez les fours de bois de chauffage et rĂ©glez-les afin qu'ils puissent ĂȘtre prĂ©parĂ©s pour la cuisson en utilisant des dĂ©corateurs.
Les fours en briques doivent ĂȘtre prĂ©parĂ©s afin que vous puissiez cuire des aliments pour plus tard dans la soirĂ©e. Les fours sont Ă©teints et vides et nĂ©cessitent du bois de chauffage pour ĂȘtre allumĂ©s. Prenez du bois de chauffage et faites-le charger dans les fours afin de pouvoir commencer Ă cuisiner. Vous pouvez faire cela manuellement ou en utilisant une fonction personnalisĂ©e ; cependant, le processus peut ĂȘtre accĂ©lĂ©rĂ© en utilisant des dĂ©corateurs.
Les décorateurs sont des modules complémentaires que l'on peut ajouter à une fonction personnalisée afin d'en étendre la fonctionnalité à la demande sans avoir besoin de la compliquer avec des conditions.
# 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)
Marchez jusqu'Ă la rĂ©serve situĂ©e en bas de la carte et rĂ©cupĂ©rez les quatre (4) faisceaux de bĂ»ches. Rendez-vous ensuite vers la marque en X dorĂ© et utilisez la fonction read() pour vĂ©rifier le mĂ©mo affichĂ© sur le bar indiquant les tempĂ©ratures auxquelles les fours doivent ĂȘtre rĂ©glĂ©s. Notez les informations dans la fenĂȘtre contextuelle, car vous en aurez besoin plus tard.
Ensuite, rendez-vous vers les marques en X claires prÚs du four et utilisez la fonction décorée pour déposer le bois de chauffage, ainsi : prep_oven(). Pendant que vous déposez le bois dans le four, dirigez-vous vers les marques en X foncées sur les tapis colorés et utilisez la fonction asynchrone question() pour régler la température des fours.
La fonction d'assistance sera préconfigurée, nommée set_temperature(), et votre réponse à la question déterminera si la température sera réglée sur High ou sur Medium. Réglez la température en écrivant la fonction et en répondant à la question avec le mémo que vous avez lu précédemment, chaque température étant réglée en fonction du tapis coloré correspondant. N'oubliez pas d'utiliser await lorsque vous utilisez des fonctions asynchrones, comme ceci : await set_temperature()
Une fois que vous aurez préparé et réglé les quatre (4) fours, vous aurez terminé le niveau.