题解 | #表示数字#这是大佬的解题思路

表示数字

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

while True:
    try:
        s = input()
        s_o = ""
        char_pre = ""
        for i in s:  # 遍历字符串
            if i.isdigit():  # 遇到数字
                # 判断其前面是否'非数字',是则表示数字的开始,先插入‘*’
                if not char_pre.isdigit():
                    s_o += "*"
            else:  # 非数字情况
                # 判断其前是否为'数字',是则表示数字结束,插入‘*’
                if char_pre.isdigit():
                    s_o += "*"
            # '*+i'
            # 遇到‘数字’(作为数字的开始)在数字前面加*,遇到‘非数字’(作为数字的结束),在其前面加*
            s_o += i
            # 当前字符更新到前字符
            char_pre = i

        # 循环结束,判断是否数字结束,如果是的话,插入‘*’
        if s[-1].isdigit():
            s_o += "*"
        # 每循环扫描到一个就输出
        print(s_o)
    except:
        break

全部评论

相关推荐

08-08 13:41
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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