使用Python將所有數字替換為字元的程式
假設我們有一個包含小寫英文字母(在偶數位置)和數字(在奇數位置)的字母數字字串s。考慮一個操作shift(c, x),其中c是任何字元,x是一個數字(數字),這將找到c之後的第x個字元。例如,shift('p', 5) = 'u' 以及 shift('a', 0) = 'a'。現在對於每個奇數索引i,我們想要將數字s[i]替換為shift(s[i-1], 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,執行
如果s[i]是數字,則
res := res 連線來自 (ASCII s[i] + ASCII s[i-1]) 的字元
否則,
res := res 連線 s[i]
返回res
讓我們看看以下實現以更好地理解 -
示例
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
廣告