【发布时间】:2020-06-17 12:54:32
【问题描述】:
我需要编写一个将字母数字字符串作为输入的程序。 该字符串将仅包含小写字符和从 0 到 9 的数字。
我必须将字母压缩为字母乘以连续重复的次数,例如:
-
aaa到a3 -
bbbb到b4 -
c到c1
如果输入字符串中有整数,那么我必须添加整数。
返回压缩后的字符串乘以相加的整数。
def std(string):
res =" "
con =1
res += string[0]
for i in range((len(string)-1)):
if (string[i] == string[i+1]):
con+=1
else:
if (con>1):
res += str(con)
res+=string[i+1]
con =1
if (con>1):
res+= str(con)
return res
print(std('aabbb3cccc2d'))
我写了这个程序,得到了输出a2b。
预期的输出是a2b3c4d1a2b3c4d1a2b3c4d1a2b3c4d1a2b3c4d1。谁能告诉我哪里出错了?
【问题讨论】:
标签: python string run-length-encoding