私はPythonが初めてで、これを実現するのにかなり苦労しています。これは私の仕事です:
6 文字暗号は、置換と転置の両方を含む秘密のメッセージをエンコードする方法です。暗号化は、A から Z までのアルファベット文字と 0 から 9 までの数字 (合計 36 記号) で 6 × 6 グリッドをランダムに埋めることから始まります。このグリッドは、メッセージの送信者と受信者の両方に知られている必要があります。グリッドの行と列には、A、B、C、D、E、F の文字が付けられています。
6 文字暗号方式を実装する Python プログラムを作成します。1. 最初の段落で説明したように、6x6 のグリッドを作成し、文字と数字をランダムに入力してから、ユーザーに秘密のメッセージを入力するように求めます。2. ユーザーが秘密のメッセージを入力した後、6x6 グリッドと生成された暗号文を表示します。3. ユーザーに暗号文を入力して元のメッセージを表示するように求めます。ユーザーに、暗号文の 2 文字ごとにスペースまたはコンマで区切るように依頼しても問題ありません。
私が苦労しているのは、ネストされたリストを検索して、入力されたランダムに配置された文字を検索し、座標を与える方法です。また、座標は、A、B などの文字ではなく、0、1 などの数字で指定されません。このネストされたリストの使用方法のアイデアがあれば、エンコードとデコードを管理できると思います。
これまでの私のコードは次のとおりです。
grid = [["Z","9","G","Q","T","3"],
["Y","8","F","P","S","2"],
["X","7","E","O","R","1"],
["W","6","D","N","M","0"],
["V","5","C","L","K","U"],
["J","4","B","I","H","A"]]
def main():
print("Welcome to the sixth cipher")
print("Would you like to (E)Encode or (D)Decode a message?")
operation = input()
if(operation == "E"):
encodecipher()
elif(operation == "D"):
decodecipher()
else:
print("Sorry, input not recognised")
def encodecipher():
print("Please enter a message to encode:")
messagetoencode = input()
def decodecipher():
print("Decode Test")
rowcolumn()
def rowcolumn():
pass
main()