题目转载:http://python.wzms.com/s/1/81
题目描述:
某压缩算法的基本思想是用一个数值和一个字符代替具有相同值的连续字符。例如,输入字符串"RRRRRGGBBBBBB",压缩后为“5R2G6B”。请编写程序实现上述功能。
输入格式:
输入共一行,一串待压缩的字符。
输出格式:
输出共一行,压缩后的一串字符。
代码:
# 第一步:把待压缩字符串切割成多个具有相同值的连续字符,存到待压缩字符列表里
compressing_string = input()
compressing_string_list = []
substring = "#"
for i in range(len(compressing_string)-1):
substring = substring + compressing_string[i]
if compressing_string[i] != compressing_string[i+1]:
compressing_string_list.append(substring[1:])
substring = "#"
if i == len(compressing_string)-2:
substring = substring + compressing_string[i+1]
compressing_string_list.append(substring[1:])
# 第二步:按题目要求打印
for character in compressing_string_list:
print(str(len(character))+character[0], end='')
运行结果: