很简单但又比较细节的编程语言在矩阵方面的应用,经典的Mask模板解密算法,当然也有一点值得探讨的地方
def trans_90(Mat): Mat_90 = [] n = len(Mat) for row in range(n): Mat_90.append([]) for row in range(n): for column in range(n): Mat_90[row].append('0') # print(n) for i in range(n): for j in range(n): Mat_90[j][n-1-i] = Mat[i][j] # print(Mat_90[i][j]) return Mat_90
首先了解的是在Python里面如何旋转矩阵(不一定非得是Numeric型),首先创建Mat_90(这是矩阵Mat顺时针旋转90°的代称)
Mat_90先创建n个list,实际上每个list都是相同的Dim,同时ROW=COLUMN,简而言之就是准备创建一个方阵
利用旋转方式的特征进行元素替换即可,在这里参考的是C++语言的实现(本质都是一样的,可能各有各的好处)
Mat_90[j][n-1-i] = Mat[i][j]
Secret_con = input().split(',') JM = input().split(',') # print(Secret_con) lis = [] for k in range(4): for i in range(len(JM)): for j in range(len(JM)): if JM[i][j] == '0': lis.append(Secret_con[i][j]) JM = trans_90(JM) print(lis)
接受特定格式的输入并分析处理,调用Function进行旋转处理再进行循环4次处理,空列表用于append合格元素(element)