-2

「キー」と「数値」を連携させて最終的な回答を得る方法がわかりません。私は .replace[] を使用することを考えていますが、率直に言って、このタイプのコードを書くのに十分な言語を理解していません。

例:

encrypt('3924056871', '445566')

返すべき'005566'です。

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

2 に答える 2

1

ここに2つの方法があります。

1: 組み込みのtranslateとを使用maketrans:

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

key10文字で、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 に答える