題目:將字符串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