1. 程式人生 > >python處理映象字串

python處理映象字串

題目:將字串s = 'ABCabcefghbxcmvSF'裝換為映象字串,例如a轉換成z,b轉換成y

首先科普一下python有兩個函式ord() 跟chr()

以上截圖來源菜鳥教程

有了ord函式,就可以知道每個字元對應的ASCII,當然也可以直接百度

由百度可知,小寫字元a對應的十進位制的ASCII是97,小寫z對應的是122,26個字母剛好分成兩半

a     97  -------->  z  122

b     98  -------->  y  121

c     99  -------->  x  120

.

m     109  -------->  n  110

發現 97+122 = 98+121 =99+120 = 109 +110 = 219

每個映象字母的十進位制ASCII相加都相等

因此,我們可以根據chr()函式跟ord函式。計算出已知的字母的映象字元。

如下

a = 'a'
trans_a = chr(219-ord('a'))
print(trans_a)

根據題目要求,程式碼如下:

s = 'ABCabcefghbxcmvSF'
new_s = ''
for i in s:
    if i.islower():
        i = chr(219 - ord(i))
        new_s += i
    elif i.isupper():
        i = chr(155 - ord(i))
        new_s += i
print(new_s)
>>>ZYXzyxvutsycxneHU