トピック:
文字列、デジタル文字+への文字の書き換え現れるつ以上の連続した文字。たとえば 'aaaabbcd' については、 '4abbcd' を書き換えます。
文字列が書き換えルールの入力と一致するかどうかを決定し、解凍関数を記述してください、会った場合、元の文字列を印刷します。
注:使用して、可変伝送パラメータを残しました。各文字は、元裁判官かどうかの数です。
s='10abb4c51d'
def unzip(s):
left=0
output=[]
for i in range(len(s)):
c=ord(s[i])
if c>=97 and left==0:#是字母,且左边不是数字
output.append(s[i])
if c>=97 and left>2:
output.append(s[i]*left)
#print(s[i]*left,end='')#是字母,左边数字>2
left=0
if c>=97 and (left ==1 or left==2): #是字母,左边数字是1或2
return False
if c<97: #是数字
left=left*10+int(s[i]) # 是数字
if i==len(s)-1 and c<97:
return False
return output
result=unzip(s)
if not result:
print('!error')
else:
for ele in result:
print(ele,end='')