字符串压缩
类型:字典
描述
输入一个字符串s
,s
由若干个非数字的字符组成且相同的字符保证连续排列,将字符串按照下列规则进行长度压缩:
- 将字符放前面,出现次数放后面,如果出现1次,则不需要输出保存的次数
- 按照字符在s中出现的顺序输出压缩后的字符串.
输入:
字符串
输出(四行或一行):
字典形式,键值对为 {字符:出现次数}
原字符串长度
压缩后字符串
压缩后字符串长度
#######################################
如果输入的s中有数字字符,直接输出‘ERROR’
示例1
输入:
abbc&&+++
输出:
{'a': 1, 'b': 2, 'c': 1, '&': 2, '+': 3}
9
ab2c&2+3
8
示例 2
输入:
abcc(((())))
输出:
{'a': 1, 'b': 1, 'c': 2, '(': 4, ')': 4}
12
abc2(4)4
8
示例 3
输入:
ab1
输出:
ERROR
def f(chars):
d={}
for i in chars:
if i.isdigit():
return 'ERROR'
else:
d[i]=d.get(i,0)+1
print(d)
print(len(chars))
k=''
for i in d:
if d[i]==1:
k+=i
else:
k+=i+str(d[i])
print(k)
return len(k)
n=input()
print(f(n))