Можно использовать функции ord
(для преобразования символа в число ASCII) и chr
(для преобразования числа ASCII в символ):
line = "Ml rfc rp_gj rm Mpceml"
newline =""
for i in range(len(line)):
newline += chr(ord(line[i])+2)
print(newline)
Вывод:
On"the"trail"to"Oregon
Пробел также преобразуется.
Видимо, пробел не закодирован в исходном файле. Таким образом, его можно исключить из декодирования:
line = "Ml rfc rp_gj rm Mpceml"
newline =""
for i in range(len(line)):
if line[i] == ' ':
newline += ' '
else:
newline += chr(ord(line[i])+2)
print(newline)
Вывод:
On the trail to Oregon
Условие if можно поместить в одну строку:
for i in range(len(line)):
newline += ' ' if line[i] == ' ' else chr(ord(line[i])+2)