这题包含了太多情况,要考虑最后一个字符是数字还是字符,开头是不是数字等,还需要考虑是否没有数字。综合看,逻辑题。

while True:
    try:
        str1 = str(input())

        flag = 0
        k = []

        for i in range(len(str1)):
            if(flag == 0 and '0' <= str1[i] <= '9'):
                flag = 1
                k.append(i)
            elif(flag == 1 and (str1[i] > '9'or str1[i] < '0')):
                flag = 0
                k.append(i)

        if(len(k) == 0):
            print(str1)
        else:
            res_str = ''

            for i in range(len(k)):
                if(i == 0):
                    if(k[i] != 0):
                        res_str = res_str + str1[0:k[i]] + '*'
                    else:
                        res_str = res_str + '*'
                elif(i == len(k) - 1):
                    res_str = res_str + str1[k[i-1]:k[i]] + '*' + str1[k[i]:]
                    if('0' <= str1[k[i]] <= '9'):
                        res_str += '*'
                else:
                    res_str = res_str + str1[k[i-1]:k[i]] + '*'

            print(res_str)
    except:
        break