""" 思路:等价于在数字与非数字之间加"*",再单独考虑首尾 """ # 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