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マークまで歩き、question() の非同期関数を使用してオーブンの温度を設定してください。

補助関数として事前に set_temperature() が設定されており、あなたの質問への回答によって温度が High または Medium に設定されます。各温度は対応するカラフルなカーペットに応じて設定されるため、関数を記述し、先に読んだメモに基づいて質問に回答して温度を設定してください。非同期関数を使用する際には、await を使用することを忘れないでください。例えば、await set_temperature() のように。

4つすべてのオーブンの準備と設定が完了すれば、レベルクリアとなります。

コードブック