「キー」と「数値」を連携させて最終的な回答を得る方法がわかりません。私は .replace[] を使用することを考えていますが、率直に言って、このタイプのコードを書くのに十分な言語を理解していません。
例:
encrypt('3924056871', '445566')
返すべき'005566'
です。
def encrypt(key, num):
lst=[]
for i in key:
for i in num:
「キー」と「数値」を連携させて最終的な回答を得る方法がわかりません。私は .replace[] を使用することを考えていますが、率直に言って、このタイプのコードを書くのに十分な言語を理解していません。
例:
encrypt('3924056871', '445566')
返すべき'005566'
です。
def encrypt(key, num):
lst=[]
for i in key:
for i in num:
ここに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
key
10文字で、plain_textには数字しかないと仮定します
def enc(key, plain_text):
"""
>>> enc('3921056784', '445566')
'005566'
"""
return ''.join([key[int(x)] for x in plain_text])