2013-11-18 4 views
0

Привет, дружище программистов :) Просто простой вопросСоздание подстановки шифра в Python

Допустим, я шифрования текста.

У меня теневые символы для «а, б, в, г, е», которые являются «W, P, Z, R, A»

original =["a","b","c","d","e"] 

shadow = ["w","p","z","r","a"] 

Затем, если пользователь вводит строку

user = input("What would you like to input?: ") 

Допустим, пользователь вводит строку «плохая кабину кровать»

Как получить заменить значение строки с моими тенью символами, а затем распечатать

(«ш PWR ZWP пар»)

Я просто трудясь вокруг некоторое время и был бы признателен за помощь: D

ответ

1

Удобно расположенный на локальном межсетях.

intab = 'aeiou' 
outtab = '12345' 

s = 'this is string example....wow!!!' 

print(s.translate({ord(x): y for (x, y) in zip(intab, outtab)})) 
+0

Поскольку он использует 'input' и не' raw_input', я думаю, что он находится на Python 3.x , Если да, то нет 'string.maketrans'. – iCodez

+0

Там _is_ ['str.maketrans'] (http://docs.python.org/3/library/stdtypes.html#str.maketrans). Но, конечно, вы не можете использовать это, когда вы назвали свою строку 'str' и затеняли класс. – abarnert

0

Если вы хотите, чтобы выполнить цикл в явном виде, вы можете попробовать что-то вроде:

intab = 'aeiou' 
outtab = '12345' 

mapper = {key: value for (key, value) in zip(intab, outtab)} 

s = 'this is string example....wow!!!' 

output = ''.join(mapper.get(char, char) for char in s) 
print(output) 
Смежные вопросы