NNNnnn9999 2022-10-18 10:29 采纳率: 53.3%
浏览 66
已结题

高考 python 程序关于加密题的问题,能帮我解释下这个答案为啥是这个吗?

1.ZIP
2.1⃣️array[j]=array[j+1]
2⃣️news+=chr(a[i][j]+ord("A"))
3.a[x][y]=(t+k)%26

img

  • 写回答

4条回答 默认 最新

  • 星燎 2022-10-18 12:10
    关注

    1、第一问可以按照题目步骤反着往回推(+k -> -k ; 左移 -> 右移):

    • 根据步骤5:密文是 QA#J,对应的矩阵为[[Q,A],[#,J]] -> [[16,0],[-1,9]]
    • 根据步骤4:由于加密是左移k位,所以解密就是右移k位。得到矩阵[[0,16],[9,-1]]
    • 根据步骤3:由于加密是+k,所以解密就是-k。得到矩阵[[25,15],[8,-1]]
    • 根据步骤2、1:按列读取,顺序为 25、8、15、-1,对应字母为 ZIP

    2、第二问可以根据示例逻辑推理出答案:

    • 第一个空对应的函数,根据代码可以得出yw函数实现的是步骤4的功能(左移),左移的操作实质上就是将后面位置的数字放前面,而填空位置的是左移一位的操作,所以答案就是array[j]=array[j+1]
    • 第二个空根据代码可以判断出实现的是将数字转换成对应的字母,所以答案就是news+=chr(a[i][j]+ord("A"))

    3、第三问根据代码可以看出是在实现步骤3:

    • 对于步骤3中的要求,+k后超过26的重新从0开始。所以答案需要对26取余,即a[x][y] = (t+k)%26
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 已采纳回答 10月18日
  • 创建了问题 10月18日

悬赏问题

  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗