Python playfair 暗号を作成しようとしていますが、途中でいくつかの問題が発生しています。次の情報を含む 5 x 5 のテーブルがあります。
[['A', 'B', 'C', 'D', 'E'],
['F', 'G', 'H', 'I', 'Y'],
['K', 'L', 'M', 'N', 'O'],
['P', 'Q', 'R', 'S', 'T'],
['U', 'V', 'W', 'X', 'Z']]
一度に 2 文字を暗号化することになっています。入力暗号化 (B, N) が与えられると、結果の出力は DL になります。入力の最初の文字は、B と同じ行の文字を返す必要がありますが、列 N があります。誰かがそれを達成する方法を説明してくれることを望んでいました。
ここのフレンドリーなユーザーの助けを借りて、コードの一部は次のようになります。
def find_index(letter, table):
for i,li in enumerate(table):
try:
j=li.index(letter)
return i,j
except ValueError:
pass
raise ValueError("'{}' not in matrix".format(letter))
print "Row:Column"
print find_index('I', table)
def encode(a, b):
if a == b:
print "ERROR: letters to encode_pair must be distinct"
print find_index (a,table)
print find_index (b, table)