编写程序。模拟数据压缩中的行程长度压缩方法。行程长度压缩方法是,对于一个待压缩的字符串而言,
依次记录每个字符及重复的次数。例如,待压缩字符串为AAABBBBCBB,则压缩的结果是(A,3)(B,4)(C,1)(B,2)。
目前还刚入门 我只会写不间断压缩统计时的情况,对于题目要求的间断压缩还存在困难 不会写,请大家们指点
(这是我会写的那种情况)
=s.upper()
c=[]
d=[]
a=list(s)
for i in set(a):
c.append(i)
c.sort()
for j in c:
d.append('({},{})'.format(j, a.count(j)))
for i in d:
print(i,end='')
s = "AAABBBBCCBB"
a = ""
b = []
while True:
c = s[0]
for i in range(1,len(s)):
if s[i] == s[0]:
c+=s[0]
if s[i] != s[0]:
break
d = c.count(s[0])
b.append((s[0],d))
if d == len(s):
break
s = s[d:]
print(b)
def translate(s):
res = []
t,n = s[0],1
for i in s[1:]:
if i==t:
n+=1
else:
res.append((t,n))
t,n = i,1
res.append((t,n))
return res
s = "AAABBBBCBB"
print(translate(s))
如有帮助,请采纳!
用字典
str=input()
str=str.upper()
resoult={}
for i in str:
resoult[i]=str.count(i)
op = []
for i in resoult.items():
op.append(i)
print(op)