最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

学习Scratch字符串操作 —— “说反话”与“成语大全”

Scratch 少儿编程 3191浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

        上周给小朋友们讲“运算符”中的字符串操作。在计算机编程中,字符算操作有着很广泛的应用,有很多函数库帮助我们轻松地完成各种字符串运算。而在Scratch2.0中,只有以下三个基本的积木块,从字面上很容易理解它们的含义。看似简单,可是小朋友们千万别忽视字符串操作的作用哦。为了帮助小朋友们从零基础学习字符串操作,冉爸准备了“说反话”和“成语大全”两个例子。

学习Scratch字符串操作 —— “说反话”与“成语大全”

        

        让我们从简单的例子入手,先使用“连接”积木块。我们和角色对话,告知姓氏以后,角色以“您好,(某)同学”来和我们打招呼。这里将两个“连接”积木块叠加在一起,达到连接多个字符串的目的。

学习Scratch字符串操作 —— “说反话”与“成语大全”

 

        接下来,角色从我们所说的话中,找到最后一个字。通过这个练习,我们学会使用“第()个字符:()”,和“()的长度”这两个积木块。

学习Scratch字符串操作 —— “说反话”与“成语大全”

        

        这两个练习不难,小朋友们反复尝试几次,就可以熟悉这三个积木块了,接下来我们开始“说反话”的例子。

 

一.    “说反话”

        我们要编写一段代码,设计一只聪明的鸟儿,它可以把主人的话反过来说一遍。我们在这段代码中,要用到上面的三个积木块。

        

        在下面的代码中,变量 i 代表当前指向的字符的位置,给小朋友们稍稍引入一点“指针”的概念。通过循环,改变变量 i 的值,从而指向不同的字符。由于是从最后一个字符倒序指向第一个字符,因此连接所有的字符后,聪敏的鸟儿就可以把主人的话反过来说一遍啦。

学习Scratch字符串操作 —— “说反话”与“成语大全”

        

        冉爸在上课的时候,从最简单的找最后一个字符开始,进而找不同位置的字符;从五言古诗,到七言古诗,再到随机长度的字符串,让孩子由浅入深,完全理解这一段代码。

        

        在这一段代码中,我们先设定一个变量的初始值,在循环中不断改变该变量的值,直到临界条件满足,停止循环。实际上,类似这样的结构在编程中是经常遇见的,冉爸提醒小朋友们先熟悉这样的“套路”,在更多的例子中识别它,进而在将来的作品中熟练地运用这样的结构。

 

二.    “成语大全”

        接下来,我们要挑战新的难度啦。首先收集小学~中学阶段语文课本中出现的所有成语,接下来导入Scratch作品中,输入任意一个汉字,搜索包含这个字的所有成语。

        

        第一步收集成语的工作并不是通过Scratch完成的。冉爸利用Python,从网络上抓取语文课本中出现的所有成语,一共有2025个,保存在txt文件中,然后利用Scratch列表的导入功能,将这些成语分“小学”,“初中”,“高中”,“全部”保存在不同的列表中,下图是列表“全部”中的成语:

学习Scratch字符串操作 —— “说反话”与“成语大全”

 

接下来就是从列表中依次取出成语,判断其中是否包含要搜索的汉字。如果有,我们的机器人会读出该成语。整个代码稍微有些长,如果小朋友们掌握了循环、判断、变量、字符串操作等知识,是可以理解编程思路的。冉爸建议学有余力的小朋友,通过阅读与改编,来加深对代码的理解,直至实现自己的创作。

 

        小朋友们在文章左下角点击“阅读原文”,就可以在网易卡搭中打开这段代码啦。

学习Scratch字符串操作 —— “说反话”与“成语大全”

 

        对啦,这段代码中还有“成语接龙”,思路也还算简单,留给小朋友们探索吧。

 

学习Scratch字符串操作 —— “说反话”与“成语大全”

 

        后记:Scratch2.0中缺少判断字符串中是否包含子字符串的功能,比如说,如果要查找成语“焕然一新”中是否含有“新”,我们需要取出成语中每一个字符,再和“新”做比较,这样很不方便。在Scratch3.0中就不存在这个困扰啦,因为有了下面这个新的积木块,是不是很方便啊? 

学习Scratch字符串操作 —— “说反话”与“成语大全”

您必须 登录 才能发表评论!