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

 

 

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