-2

我不确定如何让'key'和'num'一起工作以获得最终答案。我正在考虑使用 .replace[] 但坦率地说,我对语言的理解不足以编写这种类型的代码。

例子:

encrypt('3924056871', '445566')

应该返回'005566'

def encrypt(key, num):
   lst=[]
   for i in key:
     for i in num: 
4

2 回答 2

1

这里有两种方法。

1:使用内置translatemaketrans

from string import maketrans
def encrypt1(key, numstr):
    trans = maketrans('0123456789', key)
    return numstr.translate(trans)

2:手动:

def encrypt2(key, numstr):
    res = ""
    for ch in numstr:
        res += key[ord(ch) - ord('0')]
    return res
于 2012-05-17T19:16:48.327 回答
0

假设key有 10 个字符,plain_text 只有数字

def enc(key, plain_text):
    """
    >>> enc('3921056784', '445566')
    '005566'
    """
    return ''.join([key[int(x)] for x in plain_text])
于 2012-05-17T19:19:07.593 回答