题解 | #表示数字#

表示数字

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

"""
思路:等价于在数字与非数字之间加"*",再单独考虑首尾
"""
# 1.数字开头加“*”
# 2.数字与非数字之间加“*”(包含两种情况:⓵非数字|数字;②数字|非数字)
# 3.数字结尾“*”
# 说明:将i之前的一个字符初始化为空,数字开头可以不单独处理
while True:
    try:
        s = input()
        ns = ''  # 接收新字符串
        i_pre = ''  # 纪录i之前的一个字符(数字开头情况将包含在i.isdigit() and not i_pre.isdigit()内)
        for i in s:
            if (i.isdigit() and not i_pre.isdigit()) or (not i.isdigit() and i_pre.isdigit()):  # 非数字与数字交界加"*"
                ns += '*'
            ns += i # 只管界限,所有字符都纪录到新字符串
            i_pre = i # 本字符将成为下一个元素的前一个字符
        if s[-1].isdigit():  # 数字结尾加"*"
            ns += '*'
        print(ns)
    except:
        break

全部评论

相关推荐

02-01 12:05
复旦大学 Java
腾讯的提前批大概率应该是没有笔试的,但是这个时候有相当部分的同学简历估计都没有准备好,没准备好的同学也不用急,大部分都是3月之后开,这个时候开的绝大多数都是神仙打架,问的东西也比较难,打算投递的同学也多看下计算机网络和操作系统,腾讯对这部分的知识问的比较多。另外多刷下牛客的热门题库,刷题注意刷ACM模式,和牛客的周赛题,腾讯有的部门会从这里面出原题。我是@程序员花海关注我,带你了解更多校招资讯!
程序员花海:还没有来得及准备的同学可以看下学习路线:https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users算法题:https://www.nowcoder.com/feed/main/detail/20e7a999fa04485b88340a274411ca0d?sourceSSR=users八股文:https://www.nowcoder.com/discuss/833102362771251200?sourceSSR=users简历书写方式:https://www.nowcoder.com/discuss/839907820706205696?sourceSSR=users都是以前在牛客发的文章~
软开人,秋招你打算投哪些...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
01-07 19:35
点赞 评论 收藏
分享
评论
1
3
分享

创作者周榜

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