[GESP202609 四级 Scratch] 27. 星号切切切


【题目描述】
小杨有一串由小写字母和星号 * 组成的字符串。他想用星号把字符串切成一段一段的,规则很简单: 从左到右扫描字符串,找到第一个星号 *,把它切掉,分成左右两段。 然后只看右边那段,继续找第一个星号,切掉,再分左右……一直重复,直到剩下的字符串里没有星号为止。
默认小猫角色和白色背景,请你帮小杨编写一个 图形化编程 程序,把所有切出来的片段(包括可能出现的空串)按顺序存到一个列表 ans 中。
注意: 每次只切掉一个星号,切掉后它就不在了。 如果某次切的时候,左边或右边什么都没有(空串),也要把空串存进列表。
【输入描述】
新建变量“s”,表示一个里面只包含小写字母和星号 * 的字符串(字符串长度不超过 100)。
如下图所示:

【输出描述】
新建列表“ans”,用于存储最终的结果。列表里的每一项就是一个切出来的字符串(包括空串)。
如下图所示:

【输入样例1】
s= "abc*de*f*gh"
【输出样例1】
ans = ["abc", "de", "f", "gh"]
【样例解释1】
原始字符串:abc*de*f*gh
-
第1次:找到第一个 *,切掉,左边得 abc,右边剩 de*f*gh。
-
第2次:在右边 de*f*gh 中找到第一个 *,切掉,左边得 de,右边剩 f*gh。
-
第3次:在右边 f*gh 中找到第一个 *,切掉,左边得 f,右边剩 gh。
-
第4次:右边 gh 中没有 *,结束。
所有片段:abc、de、f、gh,存入列表。
【输入样例2】
s = "*abc*"
【输出样例2】
ans = ["", "abc", ""]
【样例解释2】
原始字符串:*abc*
-
第1次:第一个 * 在最前面,左边得空串,右边剩 abc*。
-
第2次:右边 abc* 中找到 *,左边得 abc,右边剩空串。
-
第3次:右边为空,没有 *,结束。
所有片段:空串、abc、空串。
注意事项:
-
变量名的拼写(包括大小写)要和题目完全一致(建议直接从题目中复制变量名,避免自己打字时弄错大小写或拼写)。
-
输入变量直接赋值即可,无需使用“询问并等待”积木块。
-
输出结果存放在对应列表中即可。