本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:
原字母 | 对应字母 |
---|---|
A | Z |
B | Y |
C | X |
D | W |
... | ... |
X | C |
Y | B |
Z | A |
输入格式:
输入在一行中给出一个不超过80个字符、并以回车结束的字符串。
输出格式:
输出在一行中给出替换完成后的字符串。
输入样例:
Only the 11 CAPItaL LeTtERS are replaced.
输出样例:
Lnly the 11 XZKRtaO OeGtVIH are replaced.
代码实现
def lx(x):
x = list(x)#将字符串转换为列表,因为字符串是不可变类型
for i in range(0, len(x)):
if x[i].isalpha():#判断该字符是否是字母
if x[i].isupper():#判断字母是否为大写字母
f = x[i]
x[i] = chr(155 - ord(f))#改变原列表中的大写字母,"A"与"z"的ASCII码值和为155
xz = "".join(x)#再将列表转化为字符串
print(xz)
x = input("请输入字符串:")
lx(x)
chr()函数返回ASCII码值对应的字符
lz = chr(65)
print(lz, type(lz))
ord函数返回字符对应的ASCII码值
lz = ord("A")
print(lz, type(lz))