2016-02-22 3 views
-6

Рассмотрим следующий шаблонПеревести строку с помощью карты символов

А → D
M → P
X → A
A → д
м → р
х → A

Мне нужно написать программу для решения следующего сообщения:

Vrphwklqjpdqlqjixo

Если есть встроенная функция в python, пожалуйста, дайте мне знать.

Заранее спасибо.

+2

Это не карта, это вращение: http://theblob.org/rot.cgi?text=Vrphwklqjphdqlqjixo – Selcuk

+1

@Selcuk Я вижу, что сейчас, но какие стрелы? –

+1

@ cricket_007 С одной точки зрения каждое вращение - это карта, но здесь вы можете увидеть только подмножество карты, чтобы вы могли рассеять общий шаблон, который является схемой ROT-23. Не каждая буква в зашифрованном тексте может быть найдена в образцах. – Selcuk

ответ

3

Встроенная функция вы, кажется, ищет это str.translate:

S.translate(table [,deletechars]) -> string 

Вернуть копию строки S, где все символы, входящие в необязательном аргументе deletechars удаляются, и остальные символы были отображены через данную таблицу перевода, которая должна быть длиной длиной 256 или None.
Если аргумент таблицы равен None, при этом не применяется перевод, и операция просто удаляет символы в deletechars.

В качестве альтернативы, если вы используете схему ротации, вы можете найти chr и ord функции полезны:

chr(i) -> character 

Возвращает строку из одного символа с порядковым номером я; 0 = < я < 256.

ord(c) -> integer 

Возвращает целое число, порядковый номер строки в один-символов.