(Model)模板解密算法(Python实现)

很简单但又比较细节的编程语言在矩阵方面的应用,经典的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)

发表评论

电子邮件地址不会被公开。 必填项已用*标注