字符串压缩
题设:
字符串压缩
解释:字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。
比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。
你可以假设字符串中只包含大小写英文字母(a至z)
输入:“aabcccccaaa”
输出:“a2b1c5”
# iniString = input()
# zipStr = ""
# strCnt = 1
# for i in range(len(iniString) - 1):
# if iniString[i + 1] == iniString[i]:
# strCnt += 1
# else:
# zipStr += iniString[i] + str(strCnt)
# strCnt = 1
# zipStr += iniString[-1] + str(strCnt)
# print(zipStr if len(zipStr) < len(iniString) else iniString)
s = input() # 输入字符串
ch = s[0] # 当前字符
cnt = 0 # 计次
ans = '' # 输出字符串
if s == '':
print("null")
exit(0)
for c in s:
if c == ch:
cnt += 1
else:
ans += ch + str(cnt)
ch = c
cnt = 1
ans += ch + str(cnt)
print(ans if len(ans) < len(s) else s)
运行结果: