Scratch——第19课 正话反说问题
正话反说这类题目在CIE四级的考级题目中,难度最低,主要是利用到字符串和变量的灵活利用,只要明白其方法,就能完成此类题目。
1.(CIE-201911)逆序输出
1.准备工作
(1)保留小猫角色
(2)白色背景
2.功能实现
(1)点击绿旗后,随机产生一个10-9999的数,例如872,小猫说“产生的随机数是...”两秒。
(2)计算出逆序,例如278,小猫说“这个数字的逆序是...”两秒。
解题思路:
第①步:随机产生一个10-9999的数需要用到,让角色说产生的随机数,但是这时候,生成的随机数没有进行存储,这时,需要有个变量
存储生成的随机数
第②步:这时,直接让角色说出变量即可
第③步:计算出逆序,首先需要先输出最末尾的那位,但是生成的数字我们无法确定究竟是两位。三位还是四位,那么我们可以利用,但是这样操作的话,无法通过循环来进行遍历,这时,可以通过变量
来存储整个数字的位数
,接着,改变变量,让它不断输出
进而拼接起来。
第④步:每次改变变量,那么内容都会被顶替,因此需要用一个变量来存储每次循环得到的字符串内容,然后每次都进行拼接,接着,让每次的序号变量减1
,在此之前,需要先让
为空
,要不然后面拼接之后,不止输出的结果。
第⑤步:循环的次数=随机数的位数,前面我们已经用序号来代替随机数的位数了,直接让它循环序号次即可,接着将输出的结果说出来
整合代码:
2.(CIE-202207)正话反说
正话反说
正话反说是一个非常考验反应力的游戏,请设计一个正话反说的游戏。
1. 准备工作
(1)删除小猫,添加“Monkey”角色;
(2)保留白色背景。
2. 功能实现
(1)当点击绿旗,小猴询问“请出题”;
(2)输入题目,题目保存在“正话反说题目”列表中;
(3)小猴说出答案2秒,答案保存在“正话反说答案”列表中;
(4)小猴继续询问“请出题”,继续游戏,直到输入“结束”,结束游戏。
解题思路:
第①步:询问出题,那么需要用到侦测的询问积木,将题目保存到列表中,
,在此之前,需要对列表进行初始化操作
第②步:计算出逆序,首先需要先输出最末尾的那位,但是生成的数字我们无法确定究竟是两位。三位还是四位,那么我们可以利用通过变量来存储整个数字的位数
,接着,改变变量,让它不断输出
进而拼接起来。
第③步:每次改变变量,那么内容都会被顶替,因此需要用一个变量来存储每次循环得到的字符串内容,然后每次都进行拼接,接着,让每次的序号变量减1
,在此之前,需要先让
为空
,要不然后面拼接之后,不止输出的结果。
第④步: 循环的次数=随机数的位数,前面我们已经用序号来代替随机数的位数了,直接让它循环序号次即可,接着将输出的结果插入到列表
整合代码: