mir = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 't', 'u', 'v', 'x', 'y']
keq = ['.', 'c', 'z', 's', 'e', 'd', 'f', 'g', 'i', 'h', 'j', 'k', 'b', 'v', 'o', 'p', 'q', 'r', 't', 'u', 'x', ''\'', 'y']
我想知道keq
中是否按下raw_input('write text: ')
中的任何字符
将它们转换为mir
有人可以帮我这么做......如果你能写出所有的代码,它会对我有所帮助
答案 0 :(得分:3)
1。您可以使用maketrans
和translate
methods为字符构建转换表,例如
>>> import string
>>> tb = string.maketrans('abc', '123')
>>> 'cyan banana'.translate(tb)
'3y1n 21n1n1'
2. 您可以使用''.join
method连接数组中的所有字符串,例如
>>> arr = ['a', 'b', 'c']
>>> ''.join(arr)
'abc'
这些应足以解决您的问题。
答案 1 :(得分:1)
mir = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 't', 'u', 'v', 'x', 'y']
keq = ['.', 'c', 'z', 's', 'e', 'd', 'f', 'g', 'i', 'h', 'j', 'k', 'b', 'v', 'o', 'p', 'q', 'r', 't', 'u', 'x', '\\', 'y']
trans = dict(zip(mir,keq))
myStr = raw_input()
print ''.join([trans.has_key(ch) and trans[ch] or ch for ch in myStr])
答案 2 :(得分:0)
为转换创建字典...
{
'a' : '.',
'b' : 'c',
...
然后使用map
遍历您的输入,用值替换键。