我是 python 的新手,并且为实现这一目标而苦苦挣扎。这是我的任务:
六字母密码是一种对涉及替换和转置的秘密消息进行编码的方法。加密首先随机填充一个 6 6 网格,其中包含从 A 到 Z 的字母和从 0 到 9 的数字(总共 36 个符号)。消息的发送者和接收者都必须知道这个网格。网格的行和列标有字母 A、B、C、D、E、F。
编写一个实现六字母密码方法的 Python 程序。你的程序应该: 1. 创建一个 6x6 的网格,并按照第一段中的描述随机填充字母和数字,然后提示用户输入一个秘密信息。2. 用户输入密文后,显示 6x6 网格和生成的密文。3.提示用户输入密文以显示原始消息。要求用户将密文的每两个字母用空格或逗号隔开即可。
我正在努力解决的问题是如何在嵌套列表中搜索已输入的随机放置的字母并给出坐标。坐标也不会以数字(即 0,1)而不是字母(即 A,B)的形式给出,我想一旦我有了如何使用这个嵌套列表的想法,我就可以管理编码和解码。
到目前为止,这是我的代码:
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()