我试图修改一个字符串,把每个字母表替换成前面两个位置的字母表。e、 g.“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
输出:
^{pr2}$预期输出:
g fmnc wms bgblr rpylqjyrc gr zw fylb.
i hope you didnt translate it by hand.
有没有其他更快的方法来解决这个问题?在
print i,
语法在正在打印的内容的末尾添加一个空格。您可以通过将所有字符放在一个列表中并在末尾''.join()
来解决这个问题:当然,正如其他人所建议的那样,
string.translate
可能会更直接你也可以使用这个可怕的列表理解的混蛋。在
下面是一个使用字符串.翻译公司名称:
相关问题 更多 >
编程相关推荐