python - 获取字符串和字典并返回字符串的加密版本

时间:2014-10-14 15:05:49

标签: python string encryption dictionary

使用字典加密字符串,以便返回kjyyp

def encrypt(s,d)
    d = { 'a' : 'm', 'b' : 'd', 'c' : 'l', 'd' : 'x', 'e' : 'j', 
          'f' : 't', 'g' : 'u', 'h' : 'k', 'i' : 'z', 'j' : 'd', 
          'k' : 'o', 'l' : 'y', 'm' : 'i', 'n' : 'v', 'o' : 'p', 
          'p' : 'q', 'q' : 'f', 'r' : 'c', 's' : 'r', 't' : 'b', 
          'u' : 'j', 'v' : 'w', 'w' : 'n', 'x' : 'h', 'y' : 's', 'z' : 'a' }
    # ?

print encrypt('hello',d)

这是我到目前为止所拥有的

def encrypt(s,d):
    d = { 'a' : 'm', 'b' : 'd', 'c' : 'l', 'd' : 'x', 'e' : 'j', 
          'f' : 't', 'g' : 'u', 'h' : 'k', 'i' : 'z', 'j' : 'd', 
          'k' : 'o', 'l' : 'y', 'm' : 'i', 'n' : 'v', 'o' : 'p', 
          'p' : 'q', 'q' : 'f', 'r' : 'c', 's' : 'r', 't' : 'b', 
          'u' : 'j', 'v' : 'w', 'w' : 'n', 'x' : 'h', 'y' : 's', 'z' : 'a' }
    for i in d:
       return s
print encrypt('Hello',d)

1 个答案:

答案 0 :(得分:0)

字典是键值对d ['a'] = m 所以只需遍历单词中的字母并替换

word = "" 
for letter in s.lower(): 
    word += d[letter]
return word 

或 -

 return "".join([ d[letter] for letter in s.lower() ])

修改

word ="" 
for letter in s: 
    word += d[letter] if letter in d else "?"
return word