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

高级列表
修改矩阵

目标

通过修改矩阵,收集并存放酒架上的酒瓶。

需要在酒架上存放几个酒瓶。然而,酒架上已经存放了几个瓶子,这些项目需要放在特定的位置以便妥善安置。

酒架上的瓶子存储在一个 矩阵 中,这是一种 嵌套列表矩阵 是嵌套列表,其中每个元素都是具有相同长度的列表,这就创建了一种网格,项目被划分为行和列。例如:

matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [0, 0, 0] ]

在上述代码中,我们有一个具有三 (3) 列和四 (4) 行的 矩阵。要访问矩阵中的一个项目,你只需要说明项目所在的行和列,就像你访问普通列表的元素一样,不过需要两个索引。例如,根据上面的代码:matrix[0][0] = 1matrix[0][1] = 2matrix[1][0] = 4 ,等。

酒窖中有四 (4) 种不同类型的酒瓶,分别是:"purple bottle""green bottle""blue bottle""yellow bottle" 。收集场上的所有瓶子,使它们可以被存放到酒架上。

另外,还有一些瓶子存储在板条箱内,走向标有亮光的 X 标记,并在面向板条箱时使用 collect() 函数来收集瓶子。有两个常量保存了板条箱的内容:lower_crateupper_crate。它们的名字对应地图中的位置,用法如下:player.collect(lower_crate)

一旦所有瓶子都已收集,将每种瓶子收集的数量保存到变量中,即:purple_bottlegreen_bottleblue_bottleyellow_bottle。之后,走到标有金色 X 的位置并面对酒架。

在代码编辑器中,一个名为 wine_rack 的矩阵将被显示,寻找矩阵中值为 0 的元素,并将你收集到的瓶子加入这些位置。矩阵的每一行将标注出需要加入的瓶子颜色。要向矩阵中添加一个新元素,请输入你希望放置该值的行和列,例如:wine_rack[0][1] = purple_bottle

请记住,所有列表的位置都从 0 开始,一旦所有元素都已添加到矩阵中并且完成了,将使用 place() 函数,然后在金色 X 标记处使用 speak() 函数,并传入矩阵的名称以确认其值并完成该关卡,例如:player.place(wine_rack)player.speak(wine_rack)

代码书