Encrypt_2 = {'y': 'a', 'z': 'b', 'a': 'c', 'b': 'd', 'c': 'e', 'd': 'f', 'e': 'g', 'f': 'h', 'g': 'i', 'h': 'j', 'i': 'k', 'j': 'l', 'k': 'm', 'l': 'n', 'm': 'o', 'n': 'p', 'o': 'q', 'p': 'r', 'q': 's', 'r': 't', 's': 'u', 't': 'v', 'u': 'w', 'v': 'x', 'w': 'y', 'x': 'z'}
##printing encrypted text
Encrypt_2['f', 'c', 'j', 'j', 'm']
注意:会出现语法错误,我试图找到一种更简单的方法来通过列出它们的键来打印多个值。
我知道打印键值的标准方法是 Encrypt_2['f'], Encrypt_2['c'], Encrypt_2['j']........
答案 0 :(得分:3)
你可以尝试的是:
keys = ['f', 'c', 'j', 'j', 'm'] # or keys='fcjjm'
然后遍历该列表并获取每个键的值
values = [Encrypt_2[x] for x in keys]
答案 1 :(得分:2)
这里有 4 种方法。请注意,数字 4, 97 是 ord('a')
并且不需要任何字典即可工作(因为您对每个字符执行相同的操作(将其移动 2),所以没有太多理由制作大字典来代表它)。
encrypt_2 = {'y': 'a', 'z': 'b', 'a': 'c', 'b': 'd', 'c': 'e', 'd': 'f', 'e': 'g', 'f': 'h', 'g': 'i', 'h': 'j', 'i': 'k', 'j': 'l', 'k': 'm', 'l': 'n', 'm': 'o', 'n': 'p', 'o': 'q', 'p': 'r', 'q': 's', 'r': 't', 's': 'u', 't': 'v', 'u': 'w', 'v': 'x', 'w': 'y', 'x': 'z'}
def convert_text1(string):
characters = [] # empty list where we will put values
for char in string:
# 'char' represents the current character in the string
characters.append(encrypt_2[char])
return ''.join(characters)
# each characters is joined, separated by an empty string
# e.g. ['a', 'b', 'c'] to 'abc'
def convert_text2(string):
return ''.join(encrypt_2[char] for char in string)
def convert_text3(string):
return ''.join(map(encrypt_2.__getitem__, string))
def convert_text4(string):
return ''.join(chr((ord(char) + 2 - 97) % 26 + 97) for char in string)
答案 2 :(得分:0)
你可以试试 for 循环
for i in ['f', 'c', 'j', 'j', 'm']:
print(Encrypt_2[i])
>>> hello