我需要为数字0,1,2,3,...,9替换0,1,2,3,...,9中的每个数字替换密码。它可以表示为10位数字符串,指定如何替换0,1,2,3,...,9中的每个数字。例如,10位数字符串'3941068257'指定替换密码,其中数字0用数字3代替,1用9,2代替4,依此类推。要加密非负整数,请将其每个数字替换为加密密钥指定的数字。实现函数cipher(),其中包含一个10位数的字符串键和一个数字和一个数字字符串(即要加密的明文),并返回明文的加密。
>>>encrypt('3491068257', '132')
'914'
>>>encrypt('3491068257', '111')
'999'
感谢您的帮助:)
答案 0 :(得分:1)
from string import maketrans
zero_through_nine = "".join(str(i) for i in range(10))
out_tab = "3491068257"
trantab = maketrans(zero_through_nine,out_tab )
print "111".translate(trantab)
希望你能深入了解它......
答案 1 :(得分:0)
我希望看到OP发布的尝试,但无论如何
def encrypt(key,s):
return ''.join(key[int(c)] for c in s)
这使用字符串中的每个“键”,并使用它来查找相应的字符。
答案 2 :(得分:0)
在加密函数中,您可以使用第一个字符串参数创建查找映射。 然后遍历第二个参数字符串中的每个字符并使用此映射进行替换,并创建并返回一个新字符串