题解 | #表示数字#python3

表示数字

http://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6

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

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
全部评论

相关推荐

02-28 01:18
已编辑
南昌大学 后端工程师
后测速成辅导一两个月...:把开源经历放个人项目上边应该更好,就像大部分人都把实习经历放个人项目上边
点赞 评论 收藏
分享
02-28 13:25
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务