Coding for KidsCoding for Kids
クリエイティブレベル挑戦教師ガイド
機能に投票
上級Python開発コース
チャプター
>
レベル

高度なリスト
セットの作成

目的

キャビネットに保管されている調味料を適切なカテゴリに整理し、セットを使って棚に収納しましょう。

キャビネットには複数の調味料が保管されています。それらはすぐに使用可能ですが、整理されておらず、取り出しにくい状態です。既に中身がなくなっている隣の空の棚に、適切に配置する必要があります。

調味料は3つのリストに分散しており、Sets を使用して再編成することができます。Sets は重複する項目がないリストであり、さまざまな順序に並べ替えたり、他の Sets と比較して特定の項目を見つけたり強調したりできます。

キャビネットには3つの定数リストが保管されています。それらは condiments1condiments2 、および condiments3 と呼ばれています。speak() 関数を使用してリストの内容を確認するために光の X マークまで歩き、collect() 関数を使って3つのリストすべてを集めてください。例えば、player.speak(condiments1), player.collect(condiments1) のように。

Sets は、引数としてリストまたはリストの項目を渡して set() を記述し、その後セットに名前を割り当てることで作成されます。set1, set2, set3 という名前の3つの Sets を作成し、対応する番号付きのリスト定数を割り当ててください。たとえば、set1 = set(condiments1) のように。

集めた後、緑のカーペットの上にある暗い X マークまで歩き、テーブルに向かい、Sets を通してリストをフィルタリングしてください。先ほど作成した3つの Sets 全てに対して speak() 関数を使用します。たとえば、player.speak(set1) のように。

次に、青いカーペットの上にある暗い X マークまで歩き、3つのリストすべてに存在する調味料を確認して項目を統合してください。これは intersection() メソッドを使用して行います。このメソッドを使用すると、Sets を比較して3つ全てに存在する項目を見つけることができます。結果の Set に duplicates という名前を付け、duplicates = set1.intersection(set2,set3) のように統合してください。speak() 関数を使用して結果の Set を確認してください。

次に、暗い X マークが付いた赤いカーペットまで歩き、3つの Sets を1つの Set に統合してください。これは union() メソッドを使用して行います。union() メソッドは、intersection() メソッドと同様の使い方をしますが、代わりに3つの Sets 全ての項目を取り、重複なしの1つの Set にまとめます。結果の Set に all_items という名前を付け、all_items = set1.union(set2,set3) のように統合し、speak() 関数で結果の Set を確認してください。

すべてが統合されたら、金色の X マークまで歩き、棚に向かって、place() 関数を使用してすべての調味料を空の棚に配置し、レベルを完了してください。例えば、player.place(all_items) のように。

コードブック