贴一段又臭又长的Python代码 # huawei3
def unzip(str1):
index_list = []
index_list2 = []
# 找到所有字母索引
for i in range(len(str1)):
if str1[i].isalpha():
index_list.append(i)
# 将字母分段
num_list = []
#num_list.append(index_list[0])
for i in range(len(index_list)-1):
num_temp = []
length = index_list[i+1] - index_list[i]
if (length) > 1:
for j in range(1, length):
num_temp.append(index_list[i]+j)
num_list.append(num_temp)
temp = []
temp.append(len(str1)-1)
num_list.append(temp)
#for i in num_list:
# if 0 == len(i):
# num_list.remove(i)
while [] in num_list:
num_list.remove([])
#print(str1)
#print(num_list)
# 获得数字
result_num_list = []
for i in num_list:
len_temp = len(i)
if len_temp <= 1:
#print(str1[i[0]])
result_num_list.append(int(str1[i[0]]))
else:
sum1 = 0
for j in range(len_temp):
sum1 += int(str1[i[j]]) * 10**(len_temp-j-1)
result_num_list.append(sum1)
#result_num_list.append(int(str1[len(str1)-1]))
#print(result_num_list)
# 获得字符串
num_list2 = num_list[:]
tt = []
tt.append(0)
num_list2.insert(0,tt)
#print(num_list2)
#print(index_list)
result_str_list = []
result_str_list.append(str1[0])
for i in range(len(num_list2)-1):
length = num_list2[i+1][0] - num_list2[i][-1]
start = num_list2[i][-1]
temp2 = ""
for j in range(length-1):
temp2+=str1[start+j+1]
result_str_list.append(temp2)
while '' in result_str_list:
result_str_list.remove('')
#print(result_str_list)
# 构建字典
result_dic = dict(zip(result_str_list,result_num_list))
sort_dic = zip(result_dic.values(),result_dic.keys())
sort_dic = sorted(sort_dic)
result = ""
for i in range(len(sort_dic)):
for j in range(sort_dic[i][0]):
result += sort_dic[i][1]
return result
str1 = input("")
result = unzip(str1)
print(result)