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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章