使用Python用字符替换所有数字的程序
假设我们有一个字母数字字符串s,它的偶数位置包含小写英文字母,奇数位置包含数字。考虑一个操作shift(c,x),其中c是任何字符,x是一个数字(数字),这将找到c之后的第x个字符。因此,例如,shift('p',5)='u'和shift('a',0)='a'。现在对于每个奇数索引i,我们想用shift(s[i-1],s[i])替换数字s[i]。我们必须在替换所有数字后找到s。
因此,如果输入类似于s="a2b1d4f3h2",那么输出将是"acbcdhfihj"因为
shift('a',2)='c'
shift('b',1)='c'
shift('d',4)='h'
shift('f',3)='i'
shift('h',2)='j'
为了解决这个问题,我们将按照以下步骤操作-
res:=空字符串
对于范围0到s大小的i,请执行
res:=res连接s[i]
res:=res连接字符来自(ASCIIs[i]+s[i-1]的ASCII)
如果s[i]是一个数字,那么
否则,
返回资源
让我们看看以下实现以获得更好的理解-
示例
def solve(s): res="" for i in range(len(s)): if s[i].isdigit(): res+= chr(int(s[i])+ord(s[i-1])) else: res+=s[i] return res s = "a2b1d4f3h2" print(solve(s))
输入
"a2b1d4f3h2"输出结果
acbcdhfihj