我正在尝试通过将每个字母替换为前面两个位置的字母来修改字符串。例如,将“a”替换为“c”,将“b”替换为“d”。唯一的例外是“y”应该被“a”替换,“z”应该被“b”替换(循环回到开始)。
我已经为它编写了以下代码,这似乎可以达到目的,但是输出格式会破坏它。
string = "g fmnc wms bgblr rpylqjyrc gr zw fylb."
print string
for i in string:
if i.isalpha():
if ord(i)>120:
print chr(ord(i)-24),
else:
print chr(ord(i)+2),
else:
print i
输出 :
g fmnc wms bgblr rpylqjyrc gr zw fylb.
i h o p e y o u d i d n t t r a n s l a t e i t b y h a n d .
预期输出:
g fmnc wms bgblr rpylqjyrc gr zw fylb.
i hope you didnt translate it by hand.
有没有其他更快的方法来解决这个问题?