各アルファベットを2つ前のアルファベットに置き換えることにより、文字列を変更しようとしています。たとえば、'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.
これを解決するための代替のより迅速なアプローチはありますか?