要求:
编写一个程序,将字符串中前后连续相同字符聚合在一起,返回一个字符串列表。
- 定义函数
split_string_into_clusters()
,参数为input_str
(输入的字符串)。 - 在函数内部,返回一个字符串列表,其中每个字符串由原始输入字符串中的前后相同字符组成。
示例输入
444gg7effg
示例输出
['444', 'gg', '7', 'e', 'ff', 'g']
解释: 4连续出现3次,g连续出现2次,7出现1次,e出现2次,f连续出现2次,g出现1次。
- 前后连续相同的字符才变为一个簇,随机出现的相同字符不会被聚合在一起。例如,字符串
enter
有两个e
,但程序将返回['e', 'n', 't', 'e', 'r']
。- 你可以使用
while
循环来遍历字符串中的每一个字符。
代码:
def split_string_into_clusters(input_str):
s = []
i = 0
while i<len(input_str):
s1 = input_str[i]
j=i+1
while j<len(input_str) and input_str[i]==input_str[j]:
s1+=input_str[j]
j+=1
s.append(s1)
i=j
return s
# 获取用户输入
input_string = input()
# 调用函数,输出结果
print(split_string_into_clusters(input_string))