python-情报加密副本

【问题描述】某情报机构采用公用电话传递数据,数据是5位的整数,在传递过程中是加密的。加密规则如下:每位数字都加上8,然后用和除以7的余数代替该数字,再将第1位和第5位交换,第2位和第4位交换。请编写程序,完成明文至密文的加密过程。

【输入形式】输入一个5位整数

【输出形式】输出加密后的密文整数

【样例输入】12345

【样例输出】65432

++完整代码如下:++

n=int(input())

a=[]

if 10000>n or 99999<n:

print("您输如的不是五位数,请重新输入:")

else:

b=n%10

c=n//10%10

d=n//100%10

e=n//1000%10

f=n//10000

g=[b,c,d,e,f]

for i in range(len(g)):

g[0]=g[0]+8

g[0]=g[0]%7

a.append(g[0])

del g[0]

print("{}{}{}{}{}".format(a[0],a[1],a[2],a[3],a[4]))

++代码解释:++

"n=int(input())

a=[]

if 10000>n or 99999<n:

print("您输如的不是五位数,请重新输入:") ",让用户输入一个五位数,建立一个空列表,并判断用户输入的是不是五位数。

"else:

b=n%10

c=n//10%10

d=n//100%10

e=n//1000%10

f=n//10000 ",判断是五位数的情况下分别求出该五位数的个,十,百,千,万位数字。

"g=[b,c,d,e,f]",将分别求出的该五位数的个,十,百,千,万位数字按个,十,百,千,万的顺序存入列表g中。

"for i in range(len(g)):

g[0]=g[0]+8

g[0]=g[0]%7

a.append(g[0])

del g[0] ",按照加密规则:利用循环将列表g中每个数字都加上8,然后用和除以7的余数代替该数字。然后将替代该数字的余数存入列表a中,之后将列表g中替代该数字的余数删除。

"print("{}{}{}{}{}".format(a[0],a[1],a[2],a[3],a[4]))",由于列表添加的默认顺序为添加到列表的最后末尾,因此列表a中五位数字的排列顺序已经在将g列表中余数存入列表a中时掉转,此时只需要按正常顺序排列即可。

++运行效果展示:++

++++

++(声明:以上内容均为原创)++

相关推荐
2501_941111344 分钟前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
ada7_4 分钟前
LeetCode(python)——73.矩阵置零
python·算法·leetcode·矩阵
程序员爱钓鱼16 分钟前
Python编程实战:用好 pdb 和 logging,程序再也不黑箱运行了
后端·python·trae
程序员爱钓鱼17 分钟前
Python编程实战:从 timeit 到 cProfile,一次搞懂代码为什么慢
后端·python·trae
2501_9411115124 分钟前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python
2501_9411113331 分钟前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
星轨初途37 分钟前
《数据结构二叉树之堆 —— 优先队列与排序的高效实现(2)(下)》
c语言·开发语言·数据结构·经验分享·笔记·性能优化
小小测试开发1 小时前
Python数据科学与图像处理利器组合:Prophet、Arch、Scikit-image、Pillow-heif用法全解析
图像处理·python·pillow
2501_941111371 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
高山有多高2 小时前
堆应用一键通关: 堆排序 +TOPk问题的实战解析
c语言·数据结构·c++·算法