Coding for KidsCoding for Kids
创意关卡挑战教师指南
为功能投票
高级 Python 开发课程
第 章
>
第 级

高级列表
创建集合

目标

将橱柜中的调味品组织到适当的类别中,并使用 Sets 将它们存放在架子上。

橱柜中存放着几种调味品,它们都可以直接使用,但却组织得杂乱无章,不方便取用。它们需要被妥善分布在旁边已经空出的架子上。

这些调味品分散在三个(3)个列表中,可以通过使用 Sets 进行重新整理。Sets 是不包含重复项目的列表,它们还能以各种方式排序,并与其他 Sets 进行比较,以便查找或突出显示特定的项目。

橱柜中存放有三个常量列表,分别名为: condiments1 , condiments2condiments3。走到带有 X 标记的光标处,使用 speak() 函数检查列表内容,并使用 collect() 函数收集这三个(3)个列表,例如: player.speak(condiments1),player.collect(condiments1)

Sets 是通过调用 set() 并传入列表或列表项作为参数创建的,然后将其赋予一个名称。创建三个(3)个 Sets,命名为: set1 , set2set3,并将它们分别赋值为对应编号的列表常量,例如: set1 = set(condiments1)

收集完成后,走到绿色地毯上方带有暗色 X 标记的地方,面向桌子,并通过 Sets 过滤列表。使用 speak() 函数调用你刚创建的所有三个 Sets,例如: player.speak(set1)

接着,走到蓝色地毯上方带有暗色 X 标记的地方,通过检查三个(3)个列表中共同存在的调味品来合并项目。使用 intersection() 方法,它允许你比较这些 Sets 并找出在所有三个列表中都存在的项目。将得到的集合命名为 duplicates 并进行合并,例如: duplicates = set1.intersection(set2,set3) ,然后使用 speak() 函数验证结果集合。

走到红色地毯上带有暗色 X 标记的区域,并将所有三个 Sets 合并为一个集合,这是通过使用 union() 方法完成的。它的用法与 intersection() 方法类似,但会将所有三个(3)个 Sets 中的所有项目放入一个集合中,且不会有任何重复项。将得到的集合命名为 all_items 并进行合并,例如: all_items = set1.union(set2,set3) ,然后使用 speak() 函数验证结果集合。

一旦所有内容被合并,走到金色 X 标记处,面向架子,使用 place() 函数将所有调味品放入空架子中,以完成本关卡,例如: player.place(all_items)

代码书