在四级中,列表的典型题目分成很多类型,其中就包含列表组合问题,这类题目需要运用到多层循环,只要理解每层循环的用途,就能解决此类题目。
1.(CIE-202203
)早餐组合
小猫家附近的早餐店会供应两种饮料和四种点心,饮料和点心只能各选一种,问共有多少种不同的早餐搭配?
饮料:豆浆,牛奶
点心:蛋糕、油条、饼干、面包
1.准备工作
(1)保留舞台白色背景和默认小猫角色;
(2)建立名为“点心”、“饮料”和“方案”的列表。
2.功能实现
(1)点击绿旗,两种饮料会被添加到列表“饮料”中,四种点心会被添加到列表“点心”中;
(2)编写程序将饮料和点心的全部组合保存到列表“方案”中;
(3)注意列表“方案”中的保存格式为 饮料名+点心名,如“豆浆蛋糕”。
解题思路:
第①步:创建题目所需要的三个列表,并对列表内容进行初始化设置
第②步:插入“饮料”和“点心”的列表内容,
第③步:需要对“饮料”和“点心”中的列表内容进行组合,两种饮料和四种点心组合起来,总共8种方案(2x4=8),这时需要运用循环
第④步:需要拿出“饮料”中的第一项跟“点心”中的四项内容进行组合,那么需要运用到变量,用于定位“点心”列表中的每一项内容,并且设置变量的初始值
,接着对变量进行增加
, 组合需要用到字符串的拼接
,如果是这么做,那么就用不了嵌套循环,假如题目给的列表内容很多,那么修改起来也麻烦,那么我们可以设置多一个变量,用于定位“点心”列表的每一项内容
,并且设置变量初始值
第⑤步:方案的内容由“点心”的列表内容与“饮料”的列表内容组合起来,这时可以运用连接字符串的方法,即可自动进行循环组合。
第⑥步:将代码组合之后,,运行代码,看看代码是否有问题,运行之后,我们发现
方案中,第5-8项只剩下饮料,而没有点心,这个是因为我们循环完一次点心之后,没有重新设置变量的初始值,
,对代码改进后,即可完成本题目的要求。
2.(CIE-202209
)颜色搭配
某水杯有多种颜色供顾客挑选,杯身有黑、白2种颜色,杯盖有蓝、红2种颜色,杯带有紫、粉、黄3种颜色,该水杯可以搭配出多少种不同的颜色方案?
1.准备工作
(1)保留默认白色背景和小猫角色;
(2)创建名为“杯身”、“杯盖”、“杯带”和“方案”的列表。
2.功能实现
(1)点击绿旗,2种颜色添加到“杯身”列表,2种颜色添加到“杯盖”列表,3种颜色添加到“杯带”列表;
(2)请编写程序将杯身、杯盖和杯带的全部组合保存到列表“方案”中;
(3)列表“方案”中的保存格式为杯身颜色+杯盖颜色+杯带颜色,如“黑红黄”。
解题思路:
这道题比第一道题多了一个列表的内容,那么组合起来的搭配也随之变多了。
第①步:创建列表并设置初始值
第②步:判断列表组合起来的总项目数(2x2x3=12种),需要三层循环
第③步:对这三个列表进行遍历每个列表中的项数,需要设置三个变量,并设置其初始值
第④步:运用连接字符串的方法,将搭配显示出来,在每次循环的过程中,将变量增加1,目的是让组合中的内容进行变更,
,运行完代码,发现列表的内容出现问题
,这时我们可以对代码进行查看,发现,每次循环之后,没有设置变量的初始值,导致杯盖和杯袋的变量值超出列表的项目数。
第⑤步:在每层循环后,对初始值进行设置,即可完成此题目的要求
3.(CIE-201911
)班级名称
1.准备工作
(1)保留小猫角色
(2)白色背景
2.功能实现
(1)点击绿旗后,询问“请输入年级数”,等待输入年级数。
(2)询问“请输入班级数”,等待输入班级数。
(3)定义列表“全校班级”,假设每个年级的班级数相同,所有班级名称自动生成并保存到“全校班级”中。例如,输入年级数为5,输入班级数为8,可以看到舞台上列表“全校班级”的内容为:1(1)班、1(2)班...5(7)班、5(8)班。
解题思路:
第①步:询问“请输入年级数”需要运用的命令,那么执行之后,会得到一个变量为
,那么如果后面还需要用到这个命令的话,那么是需要设置变量,先存储回答的内容,要不然后面的回答变量会被顶替掉,如果后面不需要这个命令的话,那么可以不设置变量进行存储。根据题意,我们需要设置一个变量存储第一次询问的数字
,
第②步:询问班级数,可以设置变量进行存储,也可以直接运用“回答”的变量,
第③步:搭配年级和班级,总共有班级数x年级数的积,那么需要用到嵌套循环
第④步:在生成组合搭配的时候,需要运用连接字符串的方法,但是我们只能生成倒序,为什么这么讲呢?因为你现在年级数是5,那么你如果再让变量增加,那么就超出范围了,这时我们需要怎么解决呢?非常简单的解决方法,就是设置多两个变量,来让它不断地生成序号
,这样可以通过增加变量值让它升序生成。
第⑤步:设置变量的初始值,那么接着连接字符串需要用到的变量是年级序号和班级序号
,每次循环之后,让变量增加,最终,
就完成题目的要求。