1.ZIP
2.1⃣️array[j]=array[j+1]
2⃣️news+=chr(a[i][j]+ord("A"))
3.a[x][y]=(t+k)%26
1、第一问可以按照题目步骤反着往回推(+k -> -k ; 左移 -> 右移):
2、第二问可以根据示例逻辑推理出答案:
3、第三问根据代码可以看出是在实现步骤3:
图片问题 可以看这张清楚的!
def yw(array,k):
for i in range(k):
temp = array[0]
for j in range(0,len(array)-1):
array[j] = array[j+1]
array[-1] = temp
s = input("请输入明文:")
n = int(input("n="))
k = int(input("k="))
a = [[-1 for i in range(n)]for i in range(n)]
for i in range(len(s)):
if "A" <= s[i] <= "Z":
t = ord(s[i])-ord("A")
x = i//n
a[x][y] = t+k
news = ""
for i in range(n):
yw(a[i],k)
for j in range(n):
if a[i][j] == -1:
news += "#"
else:
news += chr(int(a[i][j]))
print(news)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!