第42997题 程序题
星号切切切

图片

图片

【题目描述】

小杨有一串由小写字母和星号* 组成的字符串。他想用星号把字符串切成一段一段的,规则很简单:

  • 从左到右扫描字符串,找到第一个星号*,把它切掉,分成左右两段。
  • 然后只看右边那段,继续找第一个星号,切掉,再分左右……
  • 一直重复,直到剩下的字符串里没有星号为止。

默认小猫角色和白色背景,请你帮小杨编写一个图形化编程程序,把所有切出来的片段(包括可能出现的空串)按顺序存到一个列表ans中。

注意:

  • 每次只切掉一个星号,切掉后它就不在了。
  • 如果某次切的时候,左边或右边什么都没有(空串),也要把空串存进列表。

【输入描述】

新建变量“s”,表示一个里面只包含小写字母和星号* 的字符串(字符串长度不超过100)。

如下图所示:

图片

【输出描述】

新建变量“ans”,用于存储最终的结果。列表里的每一项就是一个切出来的字符串(包括空串)。

如下图所示:

图片

【样例1】

输入:

s= "abc*de*f*gh"

输出:

ans= ['abc', 'de', 'f', 'gh']

【样例解释1】

原始字符串:abcdef*gh

  • 第1次:找到第一个,切掉,左边得abc,右边剩def*gh。
  • 第2次:在右边defgh中找到第一个,切掉,左边得de,右边剩fgh。
  • 第3次:在右边fgh中找到第一个,切掉,左边得f,右边剩gh。
  • 第4次:右边gh中没有*,结束。

所有片段:abc、de、f、gh,存入列表。

【样例2】

输入:

s = "*abc*"

输出:

ans = ['', 'abc', '']

【样例解释2】

原始字符串:abc

  • 第1次:第一个 在最前面,左边得空串,右边剩abc。
  • 第2次:右边abc 中找到,左边得abc,右边剩空串。
  • 第3次:右边为空,没有*,结束。

所有片段:空串、abc、空串。

【注意事项】

  1. 变量名的拼写(包括大小写)要和题目完全一致(建议直接从题目中复制变量名,避免自己打字时弄错大小写或拼写)。
  2. 输入变量直接赋值即可,无需使用“询问并等待”积木块。
  3. 输出结果存放在对应列表中即可。
{{ option.label }}
子题{{ index + 1 }} {{ child.type_label }}
{{ option.label }}
✓ 正确 ◐ 部分正确 ✗ 错误
编辑模式
程序运行统计
暂无判题统计
知识点:
提交{{ questionInfo.stats ? questionInfo.stats.submit_count : 0 }}次 正确率{{ statsAccuracy }}%
答案解析