【发布时间】:2019-04-20 23:12:59
【问题描述】:
我正在寻找解决问题的方法。我想制作一个有人输入字符串的程序,然后我将其覆盖为如下内容:
'ZZZZYYYZZ' -> 'Z4Y3Z2'
我愿意接受任何建议。
我做的代码:
def compress(s):
e={}
if s.isalpha():
for i in s:
if i in e:
e[i] += 1
else:
e[i] = 1
else:
return None
return ''.join(['{0}{1}'.format(k,v)for k,v in e.items()])
s=input("Write string: ")
compress(s)
这会产生错误的输出
Write string: ZZZZYYYZZ
Y3Z6
【问题讨论】:
-
您要实现的目标称为运行长度编码,并且已经有几种解决方案。
标签: python string python-3.x list numbers