要求:
先创建随机字符矩阵,后输入字符串,两两进行按矩阵对角线加密。
思路:
代码如下:
import random
def make():#创建矩阵
x=list()
x1=list()
l=[]
for i in range(32,127):
l.append(chr(i))
random.shuffle(l)#打乱ascii码
yy=0
for i in range(5):
for j in range(19):
x1.append(l[yy])#构建行
yy+=1
if(j==18):
x.append(x1)#用行构建矩阵
x1=[]#行清零
return x
def pprint(x):#输出矩阵
for i in range(5):
for j in range(19):
print(x[i][j],end=' ')
if(j==18):
print("\n")#到头,换行
return 0
def ffind(x,y):#查找字符 x为矩阵,y为需查找字符
ii=0
jj=0
for i in range(5):
for j in range(19):
if(x[i][j]==y):#查找字符
ii=i
jj=j#计数
break
return ii,jj
def jiami(x,y):#加密 x为矩阵,y为需加密字符串
te=""
r1=0
c1=0
r2=0
c2=0
for i in range(0,len(y),2):#成对字符加密
r1,c1=ffind(x,y[i])#找第一位字符位置
if(i+1
运行测试:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)