题目:将字符串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